X图标,thicc

准备,设置,Github行动!

去年晚些时候,Github beta版发布了他们称之为的东西 Github的行为. 它响应 Github事件 并开始使用docker容器来完成工作的工作流. 它就像 Bitbucket都都管道, 但是使用大量的Github事件给Github的行为额外的粒度比仅仅反应git推事件. 除此之外,工作流UI是一个真正的享受,不同于我以前看到的任何东西. 在Unacast,正规买球app排行发现Github的行为特别有趣,我将告诉你原因和方法.

Unacast如何进行CI

在Unacast,正规买球app排行非常关注透明度,例如 正规买球app排行如何收集数据当涉及到共享内部工作时,GDPR和公司内部的高透明度. 在工程中,正规买球app排行通过使用聊天操作来增加透明度. 使用寻呼机任务的部署和错误处理都在Slack内完成. 这让每个人都能很容易地了解正规买球app排行是如何完成操作任务的. 本质上,正规买球app排行的部署如下图所示:

这里有两个痛点,那就是 Hubot部署插件 而且 天堂. 不再维护这两个存储库. 此外,天堂给了正规买球app排行一些地狱. 正规买球app排行有很多项目, 超过120个仓库, 以及部署到不同编程语言和服务器的井. 这就要求天堂需要容纳所有这些部署脚本, 并且能够对所有服务器进行身份验证. 在一个快节奏的发展中,这有点阻碍正规买球app排行. 更新天堂很困难,只有少数人有机会部署天堂. 上天的广泛授权,也不是正规买球app排行所能接受的.

开始使用Github的行为进行部署

所以当正规买球app排行获得Github的行为测试版时,正规买球app排行便开始着眼于它是否能够取代《天堂》. 简而言之,Github行动是正规买球app排行的新天堂. 正规买球app排行应该尝试将Github的行为视为第三方解决方案, 而不是Github不可分割的一部分, 虽然有点像. 真正好的部分是,在工作流中,你已经通过Github认证了. 这意味着你可以很容易地在你的工作流中触发新的Github事件, 更准确地说,是码头工人的容器.

正规买球app排行感兴趣的事件是 创建部署事件,这将触发一个特定分支或git-sha的部署. Github为你做git结帐,所以在工作流程的开始,一切都很好. 接下来由正规买球app排行来进行部署. 一张图胜过千言万语,一张图胜过千言万语:

正规买球app排行用于部署到谷歌Cloud Composer的工作流. 该工作流对谷歌Cloud进行身份验证,运行迁移脚本并部署Composer. 最后,它通知Github部署API成功. Github Slack Integration确保部署事件被发送到Slack.

Github已经创造了一些非常好的 预先构建的行动 供每个人使用或建立. 一个是 gcloud身份验证 正规买球app排行在 进行身份验证 本例中的操作. 它为服务帐户使用一个令牌,并进行登录, 接下来可以使用哪些步骤(容器). 这让正规买球app排行可以自由地创建或选择在实际部署中使用的docker容器. 在正规买球app排行的例子中,正规买球app排行使用 官方的gcloud docker镜像来自谷歌.

总而言之,当一切都很成功时,这种方法非常有效. 但是如果其中一个动作失败了会发生什么呢? 首先,每个平行动作都会立即被杀死. 其次,除了您自己做的以外,部署api没有更新. 这意味着Slack不会收到任何通知,说它出了岔子, 在Github中,部署被列为“部署”,一段时间后被抛弃. 这意味着正规买球app排行必须在容器内自己更新api. 这有点棘手, 因为容器本身差别很大,可能只包含极少的工具. So, 创建一个可以跨操作重用的工具, 它需要尽可能少地依赖容器. 为此,正规买球app排行创建了一个操作的最小存储库,首先是部署.

Unacast公开行动回购

为了将依赖关系保持在最低限度,正规买球app排行开始用shell脚本编写所有工具. 这样它们就可以在所有Github操作容器中运行. 为了将它们添加到工作流中,并使它们对以后的操作可用,正规买球app排行将所有脚本复制到 ${回家}/ bin. ${HOME}是一个映射文件夹,因此所有后续操作都有相同的文件夹可用. 现在只需要在正规买球app排行的工作流程中使用脚本即可:

现在,如果在“Deploy Composer”中出现错误,那么该函数 deployment-exec-try 确保将故障通知给部署API, 并传递退出代码,该退出代码将导致工作流停止. 正规买球app排行已经把所有这些功能放在一个开放的库中,你们所有人都可以免费使用. 所以请使用它,评论,创建问题或更好地创建拉请求 unacast /行动/ github-deploy.

我应该放弃我的CI为Github行动?

管好你的裤子,再多穿一会儿就好了. 首先,它还处于测试阶段,所以你可能需要忍受一些快速的变化. 谁知道呢,Github甚至可能完全放弃操作. 尽管我认为这不太可能, 考虑到他们的竞争对手Bitbucket都已经有完整的工作管道,Github似乎也有 大力投资.

到目前为止,正规买球app排行还没有得到任何关于价格的提示. 一个很好的猜测可能是与其他服务进行比较 圆CI, 特拉维斯 而且 Bitbucket都. 为了让Github的行为更具竞争力,我认为他们必须把自己放在这个范围内.

不过也有一些小问题, 我确信会在最终发布前解决, 比如慢创业, 流日志, 与Checks API集成 以及一般错误处理.

在Unacast,正规买球app排行正在一小部分仓库上测试Github的行为,并非常喜欢它. 正规买球app排行仍然在使用Hubot来创建部署事件,但我想对它大声欢呼 Slashdeploy, 谁不仅取代了对Hubot部署和Github Slack集成的需求, 而且还将配置从Hubot库转移到实际部署的库. 更容易理解!

以上就是Unacast的内容,我很想知道你们是否已经开始使用它了!

安排一个会议

来见正规买球app排行,测试Unacast的数据.
友情链接: 1 2 3 4 5 6 7 8 9 10