[解決済み】shでJenkinsのステージから他のステージに変数を渡す
2022-02-16 22:58:37
質問
私は、shでbashスクリプトの関数を呼び出すJenkinsパイプラインを作成しています。各ステージは、次のステージで必要な値を持ついくつかの変数を設定するbash関数です。
pipeline {
agent any
stages {
stage('setName') {
steps {
sh "/home/setname.sh stackoverflow"
}
}
stage('echoName') {
steps {
sh "/home/echoname.sh"
}
}
}
}
setname.sh
#!/bin/bash
name=$1
echo "name: $name"
echoname.sh
#!/bin/bash
echo "setName: $name"
上記の非常にシンプルな例では
setname.sh
name変数を設定しました。その変数の値 ($name) を
echoname.sh
実際のコードでは、私はたくさんの変数を持っているので、それぞれの変数の値をファイルで取得することは選択肢ではありません。 さらに、変数は渡された引数に基づいて1つのスクリプトで動的に設定されるので、グローバルに宣言することはできない。
よろしくお願いします。
どのように解決するのですか?
ステージで変数を同じファイルに出力し、その後読み込んで
env
のように、各ステージの冒頭で
stage('a') {
steps {
script {
loadEnvs('env.props')
}
sh """
echo var1 = a >> env.props
"""
}
}
stage('b') {
steps {
script {
loadEnvs('env.props')
}
sh """
echo $env.var1
echo var2 = b >> env.props
"""
}
}
def loadEnvs(propFile) {
props = readProperties(propFile)
props.each { key, val ->
env[key] = val
}
}
関連
-
[解決済み】bashでjsonファイルを解析するために、jqの出力にあるダブルクオートを削除する方法は?
-
[解決済み] テスト
-
[解決済み] (standard_in) 1: bash スクリプトのシンタックスエラー
-
[解決済み] systemd サービス 203/EXEC の失敗 (そのようなファイルやディレクトリがない) を修正する。
-
[解決済み] mkdir コマンドが bash スクリプトで見つかりません。
-
[解決済み] cmake execute_process COMMAND [重複]。
-
[解決済み] ssh / リモートbashコマンドでシングルクォート文字をエスケープするにはどうすればよいですか?
-
[解決済み] シンタックスエラー」が発生しました。"(" unexpected' (expecting "done") [duplicate]".
-
[解決済み] findコマンドと一緒に使用するとエラー 'rm: missing operand' が発生する。
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「ambiguous redirect」エラーが発生する
-
[解決済み】 '\r': コマンドが見つかりません - .bashrc / .bash_profile [重複].
-
[解決済み】 -bash: 予期しないトークン「改行」付近での構文エラー
-
[解決済み] bashスクリプトでタブ文字をエコーする
-
[解決済み] /bin/sh: apt-get: 見つかりません。
-
[解決済み] rsyncです。--include-from vs. --exclude-from 実際の違いは何ですか?
-
[解決済み] bash スクリプトを実行しているドッカーエントリーポイントが "パーミッション拒否" になる
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] シェルスクリプトでの連想配列
-
[解決済み] Grep 'binary file matches'. どうすれば正常なgrepの出力が得られるか?[重複]する