我需要從包含所有 .env 檔案(每個 api 一個)的存盤庫中獲取不同 api 的 env var。例如:
在 /env_file 目錄中:
- foo.env
- bar.env
是否可以使用位于存盤庫中的 .env 檔案來獲取環境變數,而不是在環境 {} 中手動設定它們?如果是這樣,如何在每個 api 階段參考每個檔案?提前致謝!以前從未像這樣在 Jenkinsfile 中作業過。對不起,如果這是一個奇怪的問題。
uj5u.com熱心網友回復:
您可以將環境注入到 Jenkins 管道的全域變數中:env這是一個 Map 和 的拉線器environment {},但它有一個限制:
Allow insert new environment, NOT allow override existing environment
如果您的那些 .env 檔案具有相同的環境并且您需要將它們一起加載,您將遇到“覆寫現有環境”問題。
如果您不是這種情況,您可以執行以下操作:
pipeline {
stages {
stage('Test endpoint A') {
script {
def props = readProperties file: 'A.env'
for (p in props) {
env[p.key] = p.value
}
}
// other steps
}
stage('Test endpoint B') {
script {
def props = readProperties file: 'B.env'
for (p in props) {
env[p.key] = p.value
}
}
// other steps
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516119.html
標籤:詹金斯詹金斯管道
上一篇:如何在XML中執行ps腳本
