标记多个提交的替代方案
Tagging alternative for multiple commits
在我们的 CI/CD 管道中,我们正在寻找一种方法来使用 cirle ci 完成 CI 部分,使用 Jenkins 完成部署部分(技术限制使我们无法使用 circle ci 进行部署)。
我们为每个环境(测试、验收、生产)创建了一个分支,并让 jenkins 作业监听这些分支上的变化并在适用时部署它们。
然而,我们想为每个通过 CI(例如 "ci-passed")的提交添加一个标签,并在 jenkins 作业中检查这个标签。这是为了确保无法部署蹩脚的代码。
我们考虑过创建动态标签(例如 "ci-pased-{some timestamp}"),但对此不确定,因为这会引入很多标签。是否有任何类型的替代标签可以在不同的提交中重复使用。
我们知道您可以移动标签,但我们希望在每个已通过 ci 的提交上保留标签,以便可以随时重新部署任何提交。
如有任何建议,我们将不胜感激ci。
好吧,你有点为自己设定了一个相互矛盾的要求:一方面你想要 to add a tag to every commit that has passed the CI
而另一方面你抱怨 this introduces a lot of tags
:)
个人而言,对于通过 CI 的每一次提交,我都会:
- 添加一个
ci-passed-{some timestamp}
标签 - 这会给你一个 historical/trending 的视角和识别各种可部署版本的能力(假设你最终接受这是你从上述冲突中更喜欢的)
- add/update 一个
ci-passed-latest
(或类似的)标签 - 为您提供最新的可部署版本(通常是最常见的用例),而无需找出具体的 ci-passed-{some timestamp}
应该使用标签。
您还可以通过在标签名称中对环境进行编码来扩展此方案,以清楚地识别通过 testing/acceptance/production(或任何其他阶段可能会添加到您的 CD 管道中)检查的内容。
在我们的 CI/CD 管道中,我们正在寻找一种方法来使用 cirle ci 完成 CI 部分,使用 Jenkins 完成部署部分(技术限制使我们无法使用 circle ci 进行部署)。
我们为每个环境(测试、验收、生产)创建了一个分支,并让 jenkins 作业监听这些分支上的变化并在适用时部署它们。
然而,我们想为每个通过 CI(例如 "ci-passed")的提交添加一个标签,并在 jenkins 作业中检查这个标签。这是为了确保无法部署蹩脚的代码。
我们考虑过创建动态标签(例如 "ci-pased-{some timestamp}"),但对此不确定,因为这会引入很多标签。是否有任何类型的替代标签可以在不同的提交中重复使用。
我们知道您可以移动标签,但我们希望在每个已通过 ci 的提交上保留标签,以便可以随时重新部署任何提交。
如有任何建议,我们将不胜感激ci。
好吧,你有点为自己设定了一个相互矛盾的要求:一方面你想要 to add a tag to every commit that has passed the CI
而另一方面你抱怨 this introduces a lot of tags
:)
个人而言,对于通过 CI 的每一次提交,我都会:
- 添加一个
ci-passed-{some timestamp}
标签 - 这会给你一个 historical/trending 的视角和识别各种可部署版本的能力(假设你最终接受这是你从上述冲突中更喜欢的) - add/update 一个
ci-passed-latest
(或类似的)标签 - 为您提供最新的可部署版本(通常是最常见的用例),而无需找出具体的ci-passed-{some timestamp}
应该使用标签。
您还可以通过在标签名称中对环境进行编码来扩展此方案,以清楚地识别通过 testing/acceptance/production(或任何其他阶段可能会添加到您的 CD 管道中)检查的内容。