Mac OS下Jenkins环境搭建

一、基本配置

1、安装Jenkins

    在Mac环境下,需要先安装JDK,安装完成后在Jenkins官网(https://jenkins.io/index.html)下载最新的war包,下载完成后,打开终端进入到war包所在目录,执行如下命令:java -jar jenkins.war --httpPort=8088

    其中httpPort是Jenkins所使用的http端口,待Jenkins启动后在浏览器输入如下地址:http://localhost:8088

    这样就打开Jenkins管理页面了,进入到页面后会提示你输入密码,根据页面给的路径找到密码,然后点击‘continue’到下一步,点击‘Install suggested plugins’安装推荐的插件。

2、创建管理员用户

    上述步骤完成后会进入到创建管理员用户界面,此管理员用户就是进入Jenkins需要的,这里创建管理员用户名为admin,密码为123456。

3、安装需要的插件

     上述步骤完成后,会进入到Jenkins的主页面,然后要安装一些需要的插件;点击‘系统管理’->‘管理插件’,先在‘已安装’中查看已安装的插件,如果没有找到则可以在‘可选插件’搜索到需要的插件的并安装。

此iOS项目大概需要如下插件:

svn插件 —- ‘Subversion Plug-in’,证书插件 —- ‘Credentials Plugin’,‘Keychains and Provisioning Profiles Management’,ftp(sftp)插件 —- ‘Publish over FTP’、‘Publish Over SSH’,安装脚本插件 —- ‘Post-Build Script Plug-in’。

4、构建项目

    上述插件安装完成后,就可以配置一个构建项目了;进入Jenkins首页,点击‘创建一个新任务’,输入项目名称然后选择‘构建一个自由风格的软件项目’。

勾选‘丢弃旧的构建’,然后设置保持构建的天数和保持构建的最大个数。

源码管理,选择Subversion,设置svn的Repository URL:https://username@xxx.xxx.xxx.xxx:8443/svn/xxx;然后设置Credentials,点击后面的Add按钮添加svn账号及密码,Kind选择‘Username with password’,也可以在Jenkins首页‘Credentials’->’global credentials’->’Add Credentials’添加svn账号。

5、构建触发器

    触发远程构建,设置身份验证令牌,然后可以通过url进行远程构建,jenkins地址/job/job名称/build??token=口令&cause=书写构建原因 ,例如:http://192.168.1.20:8088/job/bgzs/build?token=123456&cause=书写构建原因。

Build periodically(定时build),格式是这样的,分钟(0-59) 小时(0-23) 日期(1-31) 月(1-12) 周几(0-7,0和7都是周日),如每天20点执行build(H 20 * * *)。

Poll SCM(poll source cod management)轮询源码管理,格式和上面通用,如每5分钟轮询一次(H/5 * * * *)。

6、构建环境

    构建环境主要对打包需要的证书进行配置,由于我们在构建脚本里面配置了证书,所以这里不做配置。

7、构建

    Execute shell(构建脚本),具体见脚本文件注释。

二、项目进阶配置

1、参数化构建过程

    在项目配置的‘General’勾选‘参数化构建过程’,这里用到了两种方式‘Choice’和‘String Parameter’。

‘Choice’,点击‘添加参数’->‘Choice’,列如配置不同的打包环境,‘Name’设置为archive_type,‘Choices’填写不同环境的参数,每个参数之前用换行符隔开。

‘String Parameter’,点击‘添加参数’->‘String Paramter’,列如配置打包的版本号,‘

Name’设置为enterprise_version_string,‘默认值’设置为1.0。

设置完后,我们可以在下面的配置(如源码管理、shell脚本等)中用到该参数,访问方式为${archive_type},archive_type为设置的参数的‘Name’。

2、上传文件到sftp

    首先要安装插件‘Publish Over SSH’,安装完成后到‘系统管理’->‘系统设置’的‘Publish over SSH’进行设置。

公共配置:

Passphrase:密码(key的密码,如果你设置了)

Path to key:key文件(私钥)的路径(在终端运行ssh-keygen,连续回车后~/.ssh/id_rsa就是私钥)

Key:将私钥复制到这个框中

Disable exec:禁止运行命令

私有配置:

SSH Server Name:标识的名字(随便你取什么)

Hostname:需要连接ssh的主机名或ip地址(建议ip)

Username:用户名

Remote Directory:远程目录

Use password authentication, or use a different key:勾选,然后输入sftp用户名对应的密码

私有配置的高级:

Port:端口(默认22)

Timeout (ms):超时时间(毫秒)默认即可

Disable exec:禁止运行命令

Test Configuration:测试连接

上述设置完成后,即可到项目中配置sftp文件上传;到‘构建’->‘增加构建步骤’选择‘Send files or execute commands over SSH’进行如下配置。

基本配置:

SSH  Server Name:选个一个你在系统设置里配置的配置的名字

Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)

Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)

Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)

Exec command:把你要执行的命令写在里面

高级:

Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:**/*.log,**/*.tmp,.Git/)

Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)

No default excludes:禁止默认的排除规则(具体的自己看帮助)

Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)

Flatten files:只上传文件,不创建目录(除了远程目录)

3、邮件通知

    首先要在‘系统管理’->‘系统设置’->‘Jenkins Location’设置系统管理员邮件地址,然后在‘邮件通知’里面进行下面设置:

SMTP服务器:smtp.163.com

用户默认邮件后缀:@163.com

点击高级并勾选‘使用SMTP认证’,然后设置用户名(不用带后缀)和密码(在邮件开启POP3/SMTP服务时设置的授权密码),这里的用户要和管理员邮件是一致的,否则有报错。

然后下项目配置中‘构建后操作’增加‘E-mail Notification’,在‘Recipients’填写需要通知的邮箱地址,可以填写多个邮箱地址,中间有空格分开;勾选‘每次不稳定的构建都发送邮件通知’。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容