2016-08-18 12 views
1

に所定のパラメータにスクリプトコンテンツからパラメータを受け取ることができない私は自分の子プロジェクトからパラメータを受け取りますビルド他のプロジェクト上のトリガ/呼び出しでに所定のパラメータスクリプトの内容で宣言されたホスト名パラメータを渡すしたいと思います親project.Myコードは、スクリプトの内容に次のようになります。はジェンキンス

`machine_name="$(hostname)"` 

だから私は宣言子プロジェクトに私のパラメータを渡すために:

host_name=${machinename}

私は私の子プロジェクトをチェックイン時に、私は望んでいないです$ {MACHINENAME}は、誰かが私が見つからないか、どのようなステップ私が間違って行って、または任意であることをしています何を教え.Canとして、それが表示されるスクリプトの内容.Butで

これを実行する方法は?

答えて

2

すべてを行う必要が以下である、ENv Inject pluginを使用してみてください:

スクリプトはステップの下に含まれている必要があります

machine_name="$(hostname)" > inject.txt 

は今ステップを構築し、

プロパティに注入する環境変数を使用ファイルパスを与えるinject.txt

何が使えますか?

これで、machine_name変数はジョブ全体のホスト名の値を保持します。

次に、トリガーであなたのパラメータに/ビルド他のプロジェクト

host_name=${machine_name} 

に呼び出して、子ジョブで同じ変数を使用します。

私は上記の複数の割り当ての必要がないと思いますが、それでもあなたはそれがあなたの問題を解決した場合に受け入れ、あなたがこのが役に立ったと評価していた場合、この

は私の答えを投票してくださいしてみてください。

0

'_'が見つかりませんでした。 host_name=$machine_name。 スクリプトo/pからパラメータ値を設定または渡すことはできません。 groovyを使ってenv変数にするか、プロパティファイル&を読み込みます。

+0

申し訳ありませんが、host_name = $ {machine_name}に_を追加すると仮定すると、$ {machinename}は子ジョブの文字列として渡され、[link](https://wiki.jenkins- ci.org/display/JENKINS/Environment+Script+Plugin)は、生成された出力が環境変数として評価されると述べています。だから私は何が間違っているのか分かりません。 – RandyWong

+0

2番目のジョブに文字列変数(host_name)を作成します。最初のジョブから(パラメータ化されたトリガープラグイン)値から値を取得します。 – diamond