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’填写需要通知的邮箱地址,可以填写多个邮箱地址,中间有空格分开;勾选‘每次不稳定的构建都发送邮件通知’。

    原文作者:com3611923
    原文地址: https://www.jianshu.com/p/0018dcfb6677
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞