所以我想部署一个二进制文件

你不可以过去!

到目前为止的故事

最初,宇宙是被创造出来的。 这使很多人非常生气,被普遍认为是一个坏举动……开玩笑!

这一切都是从最近开始的。 确切地说,在星期四晚上6:42 pm。 我有一些带宽,因此决定解决我团队长期以来遇到的麻烦 -使用CircleCI环境进行手动部署。

直到星期四晚上,我们对于使用(请参阅:构建和维护)不同的工具或利用完全独立的服务来达成最终目标的想法不尽相同。

理想情况下,我们应该能够利用CircleCI API并以此方式触发作业。 不幸的是,截至撰写本文时, 如果您正在使用CircleCI 2.1和Workflows ,则目前无法 (通过API) 触发单个作业

但是,我们手头有一个更简单的解决方案,这对我们来说是未知的。

工作流程

根据CircleCI的文档,为了通过更快的反馈,更短的重新运行和更有效的资源利用来提高软件开发的速度,我们应该配置工作流

我们已经使用了它们,它们为我们服务很好。

但是有一个我们不知道的配置密钥- type: approval 。 围绕它的文档措辞混乱,难以理解。 但是经过几次重读后,我到达了那里。

批准书

CircleCI工作流下为工作分配 approval类型时,“工作”在config.yml必须是唯一的。 例如,如果您定义了三个主要作业:

  • 建立
  • 测试
  • 部署

每个都在您的工作流程中运行,那么手动触发器必须命名为上述以外的名称。 还必须在您的工作流中定义它。 此外,为了使手动触发器真正起作用必须依赖于它的另一个后续工作。

我将触发器命名为deploy-branch 。 只有在打开CircleCI Web UI并手动启动它时,才会运行此程序。 换句话说,当一个人给予批准时

结果

一旦我继续进行工作,并调整了工作流程以包括type: approval为roval的工作,我们便有了一个真正的手动触发器。 它没有精美的界面,例如Github标签或Slackbot命令,但是它确实做到了上面所说的。

结论

作为行业和专业的iOS开发人员,我在摆放我们的CI环境的同时,真正地走出了自己的舒适区。

但是,当涉及构建环境包围我帮助创建的应用程序时,我觉得这个小小的冒险帮助我全面提高了我的技能。

我只能希望这对其他团队有所帮助。 如果您已经知道该怎么做,那么对您有好处! 但是没有,所以我决定写博客。 😋

谢谢阅读!

如果您喜欢这篇文章,请考虑给我鼓掌或七个。 このストーリーを好きだったら,拍手して下さいませんか?