jenkins是一个持续集成(CI-Continuous integration)工具,它可以根据设定持续定期对项目进行自动构建。
jenkins可以自动进行代码更新、编译、打包、执行测试、上传到服务器并将测试结果通知给相关人员。
jenkins安装
1、安装jenkins需要电脑安装javasdk
2、brew如果没有安装需要先执行如下命令进行安装
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
方法一:到jenkins官网(http://jenkins-ci.org)下载安装包后进行安装
安装完成后执行如下命令启动jenkins
open /Applications/Jenkins/jenkins.war
方法二:使用命令行 安装 brew install jenkins安装完成后执行如下命令启动jenkins
jenkins
jenkins在命令行启动成功后在浏览器输入http://localhost:8080回车则可以看到jenkins的工作页面。
jenkins插件安装
进入jenkins网页选择系统管理->管理插件->可选插件,在搜索栏中进行插件搜索1、GitLab Plugin(如果使用git托管代码)
2、Gitlab Hook Plugin(...)
6、CocoaPods Jenkins Integration(如果使用cocoaPod)
9、Publish Over FTP(...)
如果插件下载失败
1)可以重试几次
2)可以手动去下载然后把文件放入jenkins的插件文件目录下(/Users/yourPCName/.jenkins/plugins)
设置账户权限
选择系统管理->Configure Global Security->启用安全
1、安全域:勾选Jenkins专有用户数据库,勾选允许用户注册
2、授权策略:选中项目矩阵授权策略,在添加用户/组下填写自定义的账号名字点击添加(特别注意至少有一个账号有全部的权限),然后设置权限。最后点击底部保存。
3、设置了安全策略后jenkins有了账号注册的功能,会弹出注册页面或者点击右上角“注册”,使用刚才自定义的最高权限的账号名进行注册,完成后登录即可。
4、如果以上操作有误则会造成无法正常进入jenkins网页,可以按照下面方法删除安全配置(这就是为什么安全设置并没有太大作用的原因,因为可以很简单的删除账号权限)
进入.jenkins文件夹下修改config.xml文件删除类似代码行重启jenkins即可。
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"/>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>false</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm></span>
创建项目
1、点击jenkins网页左上角“新建”输入项目名称,然后选择“构建一个自由风格的软件项目”,点击“ok”
2、在新建的项目中general标签下选择“丢弃旧的构建”,分别设置保持构建的天数和保持构建的最大个数的数值。
3、源码管理标签下根据自己项目选择使用svn或git,并选择将要执行构造的分支如*/dev,下面会进行详细说明。
4、构建触发器,在此标签下设置构建触发的条件如果进行每日构造可以选中 “Poll SCM”并按照语法规则填写构建时间。
5、构建环境标签下设置开发证书、钥匙串、profile文件等,如果使用xcode进行构建则可以进行设置,如果使用脚本进行构建则可以不设置。
6、构建:一般使用脚本或者xcode进行构建,下面有详细说明。
7、构建后的操作标签:可以设置将构建结果以邮件方式发送给相关人员,或者上传到第三方平台生成二维码扫描下载。
源码管理(git)
使jenkins能够访问gitlab/github需要通过设置Credentials来完成。
点击jenkins网页Credentials,选择“add Credentials”,kind下拉列表下有多种选择
1)ssh username with private key
2)username and password
3)其他
下面介绍前两种方法具体操作
方法一:ssh username with private key
使用gitlab/github账号的ssh和秘钥进行验证,首先去gitlab/github网站个人账号的设置标签中找到ssh信息标签,如果当前账号没有设置ssh,按照引导生成一个ssh填入账号信息中,ssh key增加到jenkins中有两种方法:可以在Credentials创建页面选择“From the Jenkins master ~/.ssh”(要求生成的ssh使用默认路径),也可以选择“Enter directly”,复制key字符串直接粘贴进来即可。“Passphrase”是使用密码,不要设置,“Description”填写一个好区分的名字,点击add完成。
注意使如果用ssh验证,项目的url地址只能用ssh地址,不能使用https地址。
方法二:username and password
填写github/gitlab的账号密码即可。
选择了git后,
在url输入自己项目的ssh/https地址,
Credentials选择自己刚才生成的,如果配置错误url底部会有红色错误信息,如果正确则什么都没有。
在分支处填写将要进行构建的分支名字。
xcode构建
General build settings标签,
target填写项目target名,点击右侧setting,选中“Clean before build?”和“Pack application and build .ipa?”
填写ipa名字和导出路径
Code signing & OS X keychain options标签,
选中“Unlock Keychain?”,“Keychain path”填入${HOME}/Library/Keychains/login.keychain,密码填电脑密码
如果使用了cocoaPod在Advanced Xcode build options标签下,
“Xcode Schema File”同target,
“Xcode Workspace File”同target,
“Build output directory”是编译文件的导出路径不要和ipa文件相同就可以。
脚本构建(略)
问题汇总