我们使用 Nx 来管理我们的 monorepo,我正在努力将 nx 发布命令集成到我们的 Azure DevOps 管道中以进行发布管理。目标是自动执行版本碰撞和标签创建,而无需发布到 npm,因此我在管道中使用 nx release --skip-publish。但是,我需要一项额外的任务来手动将更改和标签推送到目标分支。
我正在寻找完全自动化此过程的最佳方法,以便版本碰撞、标签创建和推送到目标分支作为管道的一部分自动发生。
是否有一种有效的方法可以在 Azure DevOps 管道中自动化此工作流程?
您可以添加脚本任务来运行 git 命令,将更改和标签推送到目标分支。
YAML 示例:
steps:
- checkout: self
persistCredentials: true
- othertasks:
- script: |
git config user.email "$(Build.RequestedForEmail)"
git config user.name "$(Build.RequestedFor)"
git add .
git commit -m "bump version"
git push origin HEAD:$(Build.SourceBranch)
git tag v1.2
git push origin v1.2
displayName: 'Push changes and tags'
请确保您使用的构建服务帐户具有对存储库进行贡献和创建标签的权限。您可以参考这份职位授权范围文档了解更多详情。)