我被命令將 dotnet 構建從 Bamboo 遷移到 Jenkins。我使用 Freestyle 作業運行 powershell 腳本,使用 PowerShell 插件并成功構建它。但是我需要將版本號添加到構建的工件中。Bamboo 作業使用:
~\.dotnet\tools\dotnet-lambda.exe package -pl $fullDir -f "netcoreapp3.1" -o Payment.${bamboo.majorVersion}.${bamboo.minorVersion}.${bamboo.revisionVersion}.${bamboo.buildNumber}.zip
我進入了 Jenkins 配置和全域屬性,創建了名為 - buildNumber、majorVersion、minorVersion 和 revisionVersion 的環境變數,給它賦值,在 Freestyle 作業的 Build 部分,我使用了:
~\.dotnet\tools\dotnet-lambda.exe package -pl $fullDir -f "netcoreapp3.1" -o Payment.${env.majorVersion}.${env.minorVersion}.${env.revisionVersion}.${env.buildNumber}.zip
但是,構建的工件的名稱是: Payment.....zip
- 如何傳遞變數值?
- 有沒有辦法自動增加revisionNumber和buildNumber,而不是硬編碼?
我對 Bamboo 和 Jenkins 都很陌生。任何幫助都會非常有幫助。
問候拉梅什
uj5u.com熱心網友回復:
就個人而言,我不會全域配置這些東西,因為它們似乎是針對特定作業的。盡管如此,
安裝
在您的 shell 步驟中(無需以 ${env....} 開頭):
執行 Shell 步驟:
#!sh -
echo ${FOO}.${BUILD_NUMBER}
echo ${LABEL}
輸出:
[EnvInject] - Loading node environment variables.
[EnvInject] - Preparing an environment for the build.
[EnvInject] - Keeping Jenkins system variables.
[EnvInject] - Keeping Jenkins build variables.
[EnvInject] - Injecting contributions.
Building in workspace C:\Users\jenkins\.jenkins\workspace\Foo
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content
FOO=bar
[EnvInject] - Variables injected successfully.
[Foo] $ sh - C:\Users\jenkins\AppData\Local\Temp\jenkins281351632631450693.sh
bar.8
Finished: SUCCESS
您還將在 Execute Shell 步驟的底部看到一個鏈接,${JENKINS_URL}/env-vars.html該鏈接列出了可用于 shell 腳本的變數,其中包括BUILD_NUMBER; 用它代替buildNumber.
該插件還支持
該版本號插件可以提供更大的靈活性,說你要自動增量和“ BUILD_NUMBER”選項,限制太多,它提供了一個變數BUILDS_ALL_TIME,它可以使用定義的變數或硬編碼的常數以上的聚集一個版本標簽和可選控制它遞增(例如:僅在成功構建時遞增)。例如:
[ X ] 為運行
屬性內容準備環境
FOO=bar
[ X ] 創建格式化版本號
環境變數名稱 [ BUILD-${FOO}.${BUILDS_ALL_TIME}]
跳過比 [ SUCCESS ] 更糟糕的構建
執行 Shell 步驟:
#!sh -
echo ${FOO}.${BUILD_NUMBER}
echo ${LABEL}
輸出:
[Foo] $ sh - C:\Users\jenkins\AppData\Local\Temp\jenkins4160554383847615506.sh
bar.10
BUILD-bar.2
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/375372.html
上一篇:如何從不同的作業訪問工件
