gpt4 book ai didi

npm - 如何在Azure DevOps中自动对npm包进行版本控制(不触发新管道)?

转载 作者:行者123 更新时间:2023-12-03 08:21:05 24 4
gpt4 key购买 nike

我们正在尝试做什么

我们正在使用 Azure Pipelines (azure-pipelines.yml) 来自动化 ci/cd。我们的部分配置完成了项目的版本控制,以发布到 Azure Artifacts。我们还尝试对其进行配置以更新 package.json 中的现有版本号,而不会在 Azure DevOps 中触发新管道。

这是我们的 azure-pipelines.yml 文件的相关部分:

  - script: |
git config --global user.email "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1a7f777b73765a7f627b776a767f34797577" rel="noreferrer noopener nofollow">[email protected]</a>"
git config --global user.name "User name"
npm version patch -m "Bump version to %s [skip ci]" --force
displayName: 'Bump release version'
- script: |
npm pack
displayName: 'Package package'

这可以很好地将包发布到我们的 Azure Artifacts feed,但不会更新 package.json 中的现有版本

我们的package.json包含以下内容:

"release": {
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/git",
{
"assets": [
"dist/",
"package.json",
"CHANGELOG.md"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
]
}

问题

我们如何更新脚本以确保 package.json 中的 version 值也得到更新,而不触发另一个管道执行(这将导致触发的无限循环)新的管道执行)?

最佳答案

您可以添加另一个脚本任务来推送回您的 devops git 存储库。但首先,您需要添加 checkout步骤并将 persistCredentials 设置为 true 以验证 git 命令。请参阅下面的示例:

- checkout: self
persistCredentials: true

- script: |

git config --global user.email "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="781d15191114381d00191508141d561b1715" rel="noreferrer noopener nofollow">[email protected]</a>"
git config --global user.name "User name"
npm version patch -m "Bump version to %s [skip ci]" --force

displayName: 'Bump release version'

- script: |

git push origin HEAD:$(Build.SourceBranchName)

displayName: 'Update Git Repo'

因为您在提交消息中有[skip ci]。推回更新的 package.json 文件不会触发新的构建。请参阅here .

关于npm - 如何在Azure DevOps中自动对npm包进行版本控制(不触发新管道)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67811509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com