持续集成工具Jenkins + Xcode +蒲公英/fir 未
2016-11-16 本文已影响62人
Karen_
安装homebrew
homebrew主页
终端输入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

按照提示输入 brew help
查看
使用homebrew 安装jdk
$brew install Caskroom/cask/java
按照提示输入密码后

打开终端进入war包所在目录
`java -jar jenkins.war --httpPort=8888`
-
浏览器打开:jenkins
-
按照提示前往文件找到管理员密码:
/Users/Karen/.jenkins/secrets/initialAdminPassword
打开文件复制密码填入。 -
设置个人信息后
jenkins主页面
安装插件

- GIT plugin
- GitHub plugin
- Post-Build Script Plug-in
- Xcode integration
- GitLab Plugin
- Gitlab Hook Plugin
-
增加SVN用户名和密码证书
新增svn证书
- 新建项目


构建触发器定时触发

构建Xcode配置

具体配置如下:
* target与Xcode相同
* Clean before build 设为Yes
* 打包Release模式
* .ipa命名
* 储存路径

- Target是Xcode内的Target,不确定可以通过终端查看:
cd 进入工程文件目录下xcodebuild -list

设置证书及签名
- Unlock Keychain?: Jenkins需要访问Keychain,获取响应的key,所以需要授权。选上就自动解锁。需要提供密码。
- Keychain path: 默认都是${HOME}/Library/Keychains/login.keychain
-
Keychain password: 钥匙串的密码,这里是赋予jenkins对该路径的权限。才能保证jenkins的这个keychain有访问,并为ipa进行签名的权限。
设置证书及签名
* 钥匙串访问中寻找 iPhone Distribution:开头的证书,右键选择显示简介,将常用名称填入。
* 或者可以在终端中收入security find-identity -p codesigning -v查找iPhone Distribution:开头的签名。
Advanced Xcode build options(xcodebuild命令的配置)
- Clean test report?:这个是如果要用到xcode测试的时候才用到
- Xcode Scheme File: 关于这个其实对应的就是xcodebuild命令中的-scheme的参数也可以用命令行
xcodebuild -list
查询 - SDK:这里是xcodebuild命令中的-sdk的参数,指定编译和打包的sdk号。如果不懂可以填写哪些可以通过xcodebuild -showsdks来查看。
- SYMROOT:该变量是编译和打包产生结果的输出目录(.a,.zip,.ipa,.hmap等产生文件的位置),其中该目录其实是包括了CONFIGURATION_BUILD_DIR和OBJROOT这两个目录,默认的路径是所编译的xcodeproj所在目录,如主项目和POD项目整合后,则会在主项目的和POD项目的XCODEPROJ所在目录
- Custom xcodebuild arguments:这个就是xcodebuild命令中的指定buildsetting的命令的参数。
- Xcode Workspace File:该配置是指明了xcodebuild中的-workspace的变量,其实就是如果您需要编译打包一个workspace时候的时候指定那个后缀名为xcworkspace的文件,如果指定了该配置,那么Xcode project file配置项将无效
- Xcode Project Directory:该目录是指明了包含xcodeproj文件的目录
- Xcode Project File: 如果需要构建一个project而不是一个workspace的话则指定文件的名称(后缀名为xcodeproj的文件)
- Build output directory:该参数只是指明了最终需要产生的动态包,ipa,app等文件默认路径为所编译的xcodeproj所在目录,如主项目和POD项目整合后,则会在主项目的和POD项目的XCODEPROJ所在目录(编译产生的相关文件所在目录,默认为SYMROOT/CONFIGURATION)
- 值得说的是有一个参数也是挺常用的就是OBJROOT,该参数是产生.a和.hmap文件的目录,默认路径为所编译的xcodeproj所在目录,如主项目和POD项目整合后,则会在主项目的和POD项目的XCODEPROJ所在目录,关于OBJROOT、CONFIGURATION_BUILD_DIR以及SYMROOT三个路径之间的关系大家可以去查看官方的文档。
构建后的颜色代表的意义

天气代表项目质量

如果构建失败了,可以去查看Console Output可以查看log日志。

构建后发布蒲公英:
构建后发送邮件:
进入设置--配置邮件:

添加构建后发送邮件:

