Azure DevOps管道中的npm版本
我在Azure DevOps中有一个构建管道,它通过Azure DevOps管道中的npm版本,npm,azure-devops,semantic-versioning,azure-artifacts,Npm,Azure Devops,Semantic Versioning,Azure Artifacts,我在Azure DevOps中有一个构建管道,它通过npm pack发布工件,以便以后发布到工件提要中 我想通过GIT设置我的主要版本和次要版本,但补丁版本要与版本号相匹配。例如 1.2.20201212.4 其中1和2为主要版本。次要版本通过GIT手动更新 20201212.4是补丁和修订号 有人能帮我找出所需的npm version命令参数,从源代码中保留minor.major版本,并从$(Build.BuildNumber)变量中仅更新补丁和修订部分吗?在Azure Devops中,您可
npm pack
发布工件,以便以后发布到工件提要中
我想通过GIT设置我的主要版本和次要版本,但补丁版本要与版本号相匹配。例如
1.2.20201212.4
其中1和2为主要版本。次要版本通过GIT手动更新
20201212.4是补丁和修订号
有人能帮我找出所需的
npm version
命令参数,从源代码中保留minor.major版本,并从$(Build.BuildNumber)变量中仅更新补丁和修订部分吗?在Azure Devops中,您可以使用
然后,您可以将任务添加到NPM pack任务之前,以替换Package.json->Version字段中的变量。
以下是步骤:
Package.Json文件:
{
"name": "helloword",
"version": "0.0.#{SetNumber}#",
"description": "Hello World",
"main": "server.js",
...
}
建造管道:
$(日期:yyyyMMdd)-(Rev:r)
结果:
更新:
您可以尝试使用Npm Version命令
npm version 0.0.$(build.buildnumber) --no-git-tag-version
更新2:
您可以尝试使用以下powershell脚本获取Package.json中的version字段。然后更新补丁号
$filePath = "$(Build.sourcesdirectory)\package.json" #filepath
$Jsonfile= Get-Content $filePath | ConvertFrom-Json
$version = $Jsonfile.version
echo $version
$major,$minor,$build = $version.Split('.')
$build = "$(build.buildnumber)"
$bumpedVersion = $major,$minor,$build -join(".")
echo $bumpedVersion
Write-Host "##vso[task.setvariable variable=version]$bumpedVersion"
在Npm版本中,可以运行以下命令:
version $(version) --no-git-tag-version
谢谢Kevin,除了在package.json causs>中使用“version”:“0.1.{SetNumber}#”执行任务:npm run build