The*_*is 6 xml pom.xml azure-devops azure-pipelines
我有一个pom.xml
包含我的项目版本的文件,如下所示
<version> 1.14.0 </version>\n
Run Code Online (Sandbox Code Playgroud)\n\n我还有一个 YAML 文件,当测试通过时它会自动生成 GitHub 标签,就像这样
\n\n- job: createTag\n dependsOn: ifBranchIsMaster\n condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')\n steps:\n - task: GitHubRelease@0\n displayName: \xe2\x80\x98Create GitHub Release\xe2\x80\x99\n inputs:\n gitHubConnection: $(GITHUB_CONNECTION)\n repositoryName: $(GITHUB_REPO)\n action: create\n tag: 1.14.0\n
Run Code Online (Sandbox Code Playgroud)\n\n我想从我的 YAML 文件中删除硬编码版本标签并从中读取它pom.xml
立即读取它是否有可能发生我尝试将硬编码版本最小化为 1。我想在 1 个地方更改它并在任何地方更改。
The*_*is 6
所以我想出了一个脚本来解决我的问题并读取<version>1.14.1</version>
所有 pom.xml 内部
那是一个powershell脚本
[xml]$pomXml = Get-Content .\pom.xml
# version
Write-Host $pomXml.project.version
$version=$pomXml.project.version
Write-Host "##vso[task.setvariable variable=version]$version"
Run Code Online (Sandbox Code Playgroud)
我还会提供 bash 脚本,以防有人需要
#!/usr/bin/env bash
version=$(grep version pom.xml | grep -v '<?xml' | grep '<version>'|head -n 1|awk '{print $1}'| cut -d'>' -f 2 | cut -d'<' -f 1)
echo "##vso[task.setvariable variable=version]$version"
Run Code Online (Sandbox Code Playgroud)
这就是我发现可以从 pom.xml 获取版本的方法
归档时间: |
|
查看次数: |
7847 次 |
最近记录: |