关于 gitLab的自动打包,我们需要先安装三个插件:"GitLab Plugin”、“Gitlab Hook Plugin”和"Keychains and Provisioning Profiles Management".
配置 jenkins 与 git 连接
jenkins 链接 git 库,一般使用 ssh 密钥来链接.所以我们首先要生成本机的 ssh 公钥和私钥.
首先查看你的当前用户下是否有.ssh 这个隐藏文件,如果存在可以先删掉,然后,打开终端: ssh-keygen -t rsa -C “ 你的邮箱”----->创建密钥密码,并验证密码----->找到. ssh 文件,在终端中打开id_rsa.pub,全部复制下.
然后,登录你的 gitLab 账号,点击用户,找到证书管理,点击 添加 ssh key, 将id_rsa.pub粘贴进去, shh key 的 title 会自动识别.
这时候再回到终端,输入 ssh-add ~/.ssh/id_rsa 将私钥加入本机,然后查看下本机的密钥ssh -add -l.如果显示出************* RSA 则已经添加.如果不添加, jenkins 会报错链接不上,因为 git 里有公钥了, 本机也产生了相对的私钥,但是你不把私钥添加到agent高速缓存中,jenkins 怎么知道是自己要与 git 链接呢...
这事回到 jenkins ,
选择 credentials--->global--->add credentials 选择
username: 为 git登录账号,
private key 选择 Enter directly 方式, 将id_rsa中的私钥全部粘贴进去.
passphrase: 创建时ssh 时的密码
点击确定就可以了.
项目配置
如果你从来没有链接过 git, 那么第一次链接时,系统会报红,这时它提示你是否要链接远端库,你需要将提示的命令在终端中打开,根据信息,会问你是否确定链接,输入 yes 就可以了,然后自然这块报错就没有了.
keychains and Code Signing Identities 配置
这里是 git 配置的又一处难点, 网上资料只告诉我们要上传login.keychains, 剩下的就只有图片结果了,在这里我们不仅要上传login.keychains,同时还要上传苹果相应开发证书对应的Provisioning Profile.
首先, login.keychains 它的目录在 ~library/keychains/login.keychains,密码是你的登录密码
其次, code signing identity 里面显示的事开发证书的名字, 其实如果你直接草丛 keychain 中复制名字,在证书选择时,是无法出现的.你需要将证书导出来,然后拖进去,将其他多余路径删除就可以了.
Provisioning Profile 文件上传后会自动识别,文件路径填写/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles.如果没有MobileDevice/Provisioning,就自行创建文件夹.
这样到构建项目的页面进行选择就可以了.这样, jenkins 的构建与连接 git 就完成了,当你第一次构建时,肯定还会有各种问题, 具体问题及解决 方法在 我<关于iOS 自动打包的 jenkins +GitLab 干货!>中都有涉及, 编译打包问题, svn 和 git 是一样的, 所有不再细说.