CocoaPods public spec pushing 能否对自动化更友好?
Can CocoaPods public spec pushing be more friendly for automation?
来自https://groups.google.com/forum/#!topic/cocoapods/i7dwMV4EqZ8
我是 CocoaPods 的新手,以前从未创建过 Pod,但我正在研究如何从我组织的持续部署基础架构中自动发布 public podspec ,它有一些属性使使用 Trunk 变得困难。他们是:
- 发布的account/owner是非人系统账号。
- 上述系统帐户在其运行的机器上没有主目录,这将妨碍 .netrc 文件(Trunk 用于存储会话令牌的文件)的使用。这应该可以通过创建一个假的主目录并为其设置 HOME 环境变量来解决,因为这就是 netrc gem 寻找的内容。
- 执行发布的机器假定具有 "no state,",这意味着发布总是可以发生在从未注册过的不同机器上。
我考虑过为此帐户创建初始 .netrc,将来自该帐户的令牌存储在我们的安全存储中,并在发布时检索它以构建 .netrc 文件。有几点我认为效果不佳:
- Trunk 返回的令牌似乎已过期,这意味着需要人工定期创建新令牌并更新我们的安全存储。
- 中继会话似乎在跟踪创建它们的机器的 IP 地址,我假设发布请求已通过验证,如果 IP 地址不匹配则失败。由于发布发生在不同的机器上,这意味着每次发布自动化 运行 时都需要创建一个新会话。实际上,我希望这些机器的 IP 地址来自同一个外部 IP 地址,但这不是我可以接受的假设。
我的下一个选择要复杂得多:让发布自动化注册一个新会话,等待注册电子邮件,然后在继续发布之前使用电子邮件中的 link 验证会话.我不知道如何真正实现这一点,但我认为这是一个可行的解决方案,即使实施起来并不耗时。欢迎就如何实现这一目标提出任何建议。
是否有发布 public podspecs 的替代方法?在我看来,Trunk 并不真正支持这个用例;如果有办法在 Trunk 中容纳它就太好了。
到目前为止没有。
但是我发出了Question to be possible to automate pod trunk push
with CI service like travisCI.
然后,开发人员合并了允许自动发布的提交(允许通过 COCOAPODS_TRUNK_TOKEN
环境变量指定 Trunk 令牌)。
没试过,也许可以自动推送。
[补充]我上面写完后试了一下,效果不错
来自https://groups.google.com/forum/#!topic/cocoapods/i7dwMV4EqZ8
我是 CocoaPods 的新手,以前从未创建过 Pod,但我正在研究如何从我组织的持续部署基础架构中自动发布 public podspec ,它有一些属性使使用 Trunk 变得困难。他们是:
- 发布的account/owner是非人系统账号。
- 上述系统帐户在其运行的机器上没有主目录,这将妨碍 .netrc 文件(Trunk 用于存储会话令牌的文件)的使用。这应该可以通过创建一个假的主目录并为其设置 HOME 环境变量来解决,因为这就是 netrc gem 寻找的内容。
- 执行发布的机器假定具有 "no state,",这意味着发布总是可以发生在从未注册过的不同机器上。
我考虑过为此帐户创建初始 .netrc,将来自该帐户的令牌存储在我们的安全存储中,并在发布时检索它以构建 .netrc 文件。有几点我认为效果不佳:
- Trunk 返回的令牌似乎已过期,这意味着需要人工定期创建新令牌并更新我们的安全存储。
- 中继会话似乎在跟踪创建它们的机器的 IP 地址,我假设发布请求已通过验证,如果 IP 地址不匹配则失败。由于发布发生在不同的机器上,这意味着每次发布自动化 运行 时都需要创建一个新会话。实际上,我希望这些机器的 IP 地址来自同一个外部 IP 地址,但这不是我可以接受的假设。
我的下一个选择要复杂得多:让发布自动化注册一个新会话,等待注册电子邮件,然后在继续发布之前使用电子邮件中的 link 验证会话.我不知道如何真正实现这一点,但我认为这是一个可行的解决方案,即使实施起来并不耗时。欢迎就如何实现这一目标提出任何建议。
是否有发布 public podspecs 的替代方法?在我看来,Trunk 并不真正支持这个用例;如果有办法在 Trunk 中容纳它就太好了。
到目前为止没有。
但是我发出了Question to be possible to automate pod trunk push
with CI service like travisCI.
然后,开发人员合并了允许自动发布的提交(允许通过 COCOAPODS_TRUNK_TOKEN
环境变量指定 Trunk 令牌)。
没试过,也许可以自动推送。
[补充]我上面写完后试了一下,效果不错