## 文章面向读者
1. Jenkins入门即可,但需要有亲自实践过
2. 会用Mac,了解一些Xcode的基本知识
## 必要条件
1. 一台Mac电脑
1. 苹果开发者证书
1. 一个可以正常编译的App项目源码
## 开发环境配置
1. 导入证书
Mac准备好之后,Xcode先装上,用Xcode打开项目,然后打开项目配置的General部分

如果证书没有导入到该电脑,点击Fix Issue,就可以很方便的将证书导入到Keychains中,这一步完成之后,将相当于证书导入到电脑中了。
2. 设置Mac的Jenkins Slave配置
* 安装Xcode Plugin插件:这个在Jenkins的插件管理里面去安装就好了
* 环境变量配置:Jenkins运行程序的时候,初始状态是没有任何环境变量的,需要手动配置,不然会提示说,签名错误
环境变量 `HOME`是必须的,`USER`变量可能也会用到,这Jenkins的节点配置里面设置

图片中涂掉的用户名,改成你电脑上的用户名
* Jenkins job的配置
* `Clean before build?` 这个勾上,苹果还是很坑的,clean下比较保险
* `Pack application and build .ipa?` 这个不要勾选,因为`Mac OS X >= 10.10` 就不支持打ipa了,勾了反而会报错
* `Code Signing Identity` 这个应该是可选的,证书的名字,可以打开Keychains查看到,Example `iPhone Developer: Hello Kitty (4PHMYE8812)`
* `Xcode Project Directory` 如果项目不是在当前目录下,需要填上这个值
其他的配置,看情况弄弄就好了,不写应该问题也不大
最后需要生成ipa文件,增加构建步骤里面加上个`Execute Shell`, 脚本内容这样写
```
TARGET=demo
xcrun -sdk iphoneos -v PackageApplication ./build/Release-iphoneos/{TARGET}.app -o PWD/TARGET.ipa
```
将其中的TARGET改成项目真正的名字
* Jenkins文件的后续操作
生成的文件可以上传到第三方平台,也可以简单的使用`Archive the artifacts`保存下来,这里问题应该都不大,就不具体说明了。
## 后记
自己也捣鼓了好长时间,终于搞定,记录下来,以供后来者参考。