我正在建立一个存储库来自动部署Web应用程序。
要管理主分支版本,我在git中使用标记来标记每个版本ex:0.0.4
,0.0.5
等等。
我注意到docker hub最近更新了他们的自动构建系统并引入了正则表达式匹配。我想要做的是每次将新标签推送到分支时都会生成图像。
我的问题是,当我在标签和正则表达式上设置一个新的自动构建时,如/^[0-9.]+$/
,它不会被触发构建?如果我只是在带有最新标签的分支上设置自动构建,那么它工作正常,然后每当我向分支推送任何东西时,我都会得到一个新的最新版本。
我收到了解决我的问题的docker hub支持的响应:
所有新创建的自动构建repos引用BitBucket源将能够基于Git标记具有动态构建触发器。
但是,对于2015年12月29日之前创建的现有自动构建回购,有一个问题。为了使这些现有的repos具有基于标记的动态构建触发器,您需要执行以下任一操作:
痛苦的方式:您需要删除/删除Docker Hub上的自动构建仓库并重新设置它。
不那么痛苦的方法:转到BitBucket repo设置页面(https://bitbucket.org/ // admin),单击Integration下的Services选项卡。你应该看到Docker Hub是列出的服务之一,可能有一个如下所示的条目:POST https://registry.hub.docker.com/hooks/bitbucket。复制URL(https://registry.hub.docker.com/hooks/bitbucket),然后单击Integration下的Webhooks选项卡,然后继续添加webhook。标题应为“Docker Hub”,将复制的URL粘贴到URL字段中,勾选“活动”框,然后选择“触发器”的“存储库推送”选项。最终配置应该与附加的屏幕截图相似。最后但并非最不重要的是,保存配置。如果您已完成上述任一步骤,则当您将任何标记推送到BitBucket仓库时,Docker Hub上的自动构建仓库将触发新构建。
对于GitHub,我必须做以下事情
我刚刚完成了设置示例存储库的过程。对我来说,自动设置不起作用。我必须做的是将Docker服务添加到我在GitHub上的repo中,并且我的所有推送都自动启动触发构建。