簡體   English   中英

如何從 azure devops 上的圖表 yaml 文件中獲取 appVersion?

[英]How to get appVersion from chart yaml file on azure devops?

我想從 chart.yaml 文件中獲取 appVersion 並與從 project.csproj 文件中獲取的版本進行比較。

所以,我創建了三個任務

  1. 從 project.csproj 獲取版本的版本閱讀器
  2. 文件內容到變量以從圖表中獲取內容。yaml
  3. 比較版本和appVersion的powerscript shell

文件內容到變量獲取所有內容。 我只想得到appversion。

如何可能像這樣$env:helmchart_appVersion如何從 chart.yaml 獲取 appVersion?

這是我的例子。

$env:Project_Version從版本閱讀器獲取

$env:helmchart正在從文件內容獲取變量

chart.yaml 文件:

apiVersion: v2
name: asset-api
description: Helm Chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.5.2

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.0.2"

比較腳本:

 write-host($env:helmchart)
 write-host($env:helmchart -match "appVersion: ")
 write-host($env:Project_Version)
if($env:helmchart -match "appVersion: " + $env:Project_Version) {
     write-host('Helm Chart appVersion Validated!')
}
else {
 write-error 'Helm Chart appVersion not matched with your project version! Check Chart.yaml file!'
}

我注意到,缺少的雙引號沒有給出錯誤。

$env:Project_Version 是 1.0.2
$env:helmchart 是 appVersion: "1.0.2"

所以腳本應該是:

 if($env:helmchart -match 'appVersion: "' + $env:Project_Version '"') 
{
     write-host('Helm Chart appVersion Validated!')
}
else 
{
   write-error 'Helm Chart appVersion not matched with your project version! Check 
    Chart.yaml file!'
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM