美文网首页
fastlane 证书管理笔记

fastlane 证书管理笔记

作者: 弑神指 | 来源:发表于2018-12-01 15:41 被阅读0次

1. 为什么match方式管理证书?

Match 负责创建和维护代码签名证书和预配配置文件,使 iOS 开发团队可以在所有开发人员中共享一个代码签名标识。

在向 App Store 部署应用、执行 beta 版本测试,或在设备上安装应用时,开发团队的每个成员都有其自己的签名标识。 这可能会导致标识和配置文件发生冲突,并需要手动创建、轮换和管理配置文件和应用程序 ID。

但是,match 会创建和维护所有证书和配置文件,并将它们存储在私有 GIT 存储库。 这样,团队中的所有开发人员都可以访问和使用这些凭据。 另外,这样还额外提高了证书的安全性:除了存储在私有 GIT 存储库,还可以使用密码加密。 通过将代码签名项目存储在存储库中,团队代理和管理员可以根据需要更新和轮换证书,这意味着将新证书分发到每个开发人员将花费更少的时间。

重要
match 当前不支持内部企业配置文件

2.安装match过程

2.1 通过使用终端,将目录更改为项目目录并运行:
fast lane match init
2.2 出现提示时,请输入 GIT 存储库的 URL:

2.3 github.com 或 bitbucket.com 创建项目目录


fastlane-image6.png

生成的项目路径 填入 2.2.

2.4 结束后fastlane下生成Matchfile文件,初始化项目将创建 Matchfile 文本文件,该文件可以进行编辑,从而将环境变量传递给 Match 工具。 Matchfile 示例如下所示:


fastlane-image8.png

2.5 运行 match

fastlane 建议首次运行match 之前,应考虑使用 match nuke 命令清除现有配置文件和证书

2.5.1

根据所需的环境,可以使用以下任一命令创建新证书和预配配置文件,并将其存储在新的 GIT 存储库:

fastlane match appstore

fastlane match adhoc

fastlane match development

2.5.2

除了创建新的证书和配置文件,使用上面任一命令还可以将以下项添加或更新(如果已存在)到 GIT 存储库:
证书文件夹
配置文件文件夹
附带基本说明的自述文件
match 版本

fastlane-image9.png

2.5.3

预配配置文件安装在 ~/Library/MobileDevice/Provisioning Profiles 中。 证书和私钥直接安装在密钥链中。

2.5.4 使用 nuke 命令

如果证书比较杂乱,可以通过以下命令使用 nuke 吊销每种环境的证书和配置文件:

fastlane match nuke
若要撤销特定环境的所有证书和预配配置文件:

fastlane match nuke development
或
fastlane match nuke distribution
Fastlane 将在进行删除前确认将要删除的文件.

密码

首次运行 match 时,需要设置 GIT 存储库的密码。 请务必记住此密码,因为在不同计算机上运行 match 时,将需要此密码。 这又增加了一层安全保障:每个文件将使用 OpenSSL 加密。 后来在新的计算机上每次运行 match 时,系统都将提示输入此密码 – 初次输入后,密码将添加到本地密钥链。

若要将密码设置为使用环境变量加密配置文件,请使用 MATCH_PASSWORD

附加选项

使用 match 时,可使用下列选项提供额外支持:

  • -–help 标志用于所有的可用命令列表:
  • 使用 -–verbose 标志增加输出的详细程度:
  • 如果开发人员门户上的设备计数已更改,请使用 --force_for_new_devices 标识强制预配配置文件进行续订”

2.5.5 match应用

screenshot.png

fastlane match development --readonly

团队管理

当有新成员加入时,执行:
fastlane match development --readonly
fastlane match adhoc --readonly
fastlane match appstore --readonly
并输入对应的加密密码来获取
xcode要取消Automatically manage signing,并将获取到的pp文件放到对应的Signing配置中,至此就配置完成啦!

3.遇到的问题
3.1

screenshot 2.png

https://github.com/fastlane/fastlane/issues 原本以为ruby版本问题,
ruby版本升级:https://blog.csdn.net/u011886447/article/details/78453307
后来注意到 /usr/local/bin in PATH,model 040777,简单搜索下访问权限,给了启发。执行如下命令:
sudo chmod go-w /usr/local/bin

3.2

screenshot.png

https://github.com/fastlane/fastlane/issues
unexpected token at 'Bad Request' (Faraday::ParsingError) 类似错误:
https://github.com/fastlane/fastlane/issues/5903
提供解决方式(没能解决我的问题):
git clone https://github.com/fastlane/fastlane
cd fastlane/spaceship

[sudo] gem install bundler
bundle install
rake install

尝试超时引起,解决了我的问题:
export FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=100

3.3

开发者账号后台无需创办证书,比如提示:
[!] Could not create another Development certificate, reached the maximum number of available Development certificates.

4.参考文章

https://docs.microsoft.com/zh-cn/xamarin/ios/deploytest/provisioning/fastlane/match#passphrase
https://docs.fastlane.tools/actions/match/
https://github.com/fastlane/fastlane

启发内容

http://www.cocoachina.com/cms/wap.php?action=article&id=24718

相关文章

网友评论

      本文标题:fastlane 证书管理笔记

      本文链接:https://www.haomeiwen.com/subject/akcrcqtx.html