背景
为了支持CI持续集成,让Argo能够实现自动构建;同时避免证书混乱,实现自动管理。
整体方案
- 工具:fastlane + match
- 证书:公钥和私钥都有match统一管理,统一分发。
- 开发状态下(development),团队所有成员使用XCode的automatically manage signing自动管理certificates和provisioning profile。
- 持续集成状态下(appstore & testflight),由match管理。
match实现原理
match使用的是一个私有的git管理所有certificates和provisioning file。私有的git保存的说有内容都是通过OpenSSL加密的,密码不能外泄。
团队成员需要做的
- Step1:升级系统ruby版本到2.3.0以上,或者通过rbenv安装,以下以rbenv为例,假设本地shell是bash(如果使用的是zsh,则将下文的~/.bashrc 换成 ~/.zshrc:
$ brew install rbenv ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ souce ~/.bash_profile
$ rbenv install 2.5.0
$ rbenv rehash
$ rbenv global 2.5.0
(本步骤完成之后不要切换终端,直到下一次重新登陆;如果切换了,需要执行 source ~/.bashrc)
- Step2:安装fastlane并确保fastlane权限
$ sudo gem install fastlane -NV
$ fastlane fastlane-credentials add --username natian1229@126.com`
- Step3:进入ait_ios目录并安装bundler
$ gem install bundler
$ bundle install
- Step5:进入ait_ios目录并使用match同步证书
$ bundle exec fastlane match development --readonly
$ bundle exec fastlane match appstore --readonly
同步证书的时候需要需要用到一个非常重要的密码,这个密码是对私有git保存的cert和profile的加密
- Step5:XCode中添加统一的苹果开发者账号xxxx@xxx.com并设置为automatically manage signing。
No comments:
Post a Comment