6

共通のパラメーター(ユーザー、パスワード)を使用するジョブが約20あり、パスワードの有効期限が切れることがあります...したがって、すべてのジョブでパスワードを変更する必要があり、これは非常に時間がかかります(エラーが発生しやすく、1つを忘れる可能性があります)。

私は考えました:

  • ある種の魔法のプロパティファイルを使用して、KEY、VALUEなどの行をジョブパラメータに直接追加します。
  • 同じ種類のKEYとVALUEのペアを直接内部に追加しbuild.xmlますが、ここで?そして、それは本当に醜いです...たぶん専用のXMLが埋め込まれていbuild.xmlますか?
  • スレーブジョブを呼び出して、(どのように?)親に目的の値をプッシュします...

ご覧のとおり、私はHudson / Jenkins(Jenkins 1.424.2.2を使用しています)から始めています。ご協力いただきありがとうございます。

編集:私はJenkinsインスタンスの管理者ではないため、グローバルプロパティにアクセスできません...

4

3 に答える 3

7

Jenkinsの家に行き、ナビゲートします:

  1. Jenkinsを管理する>
  2. システムの構成>
  3. グローバルプロパティ>
  4. 環境変数>....
于 2012-09-17T07:14:05.753 に答える
1

私は2つのアプローチを考えることができます:

  • [Jenkinsの管理] ->[システムの構成]の下にある[グローバルプロパティ]を使用します。ここでは、すべてのジョブで使用できる環境変数を定義できます。

  • ジョブ構成をダウンロード、変更、および投稿する小さなスクリプトを作成しますhttp://[jenkinshost]/job/[jobname]/config.xml

でAPI機能について読むことができます。config.xmlのhttp://[jenkinshost]/job/[jobname]/api読み取りと変更については次のようになっています。

config.xmlをフェッチ/更新します

プログラムでconfig.xmlを取得するには、を押します [http://[jenkinshost]/job/[jobname]/config.xml]。更新されたconfig.xmlを同じURLにPOSTして、プログラムでジョブの構成を更新することもできます。

于 2012-09-14T16:02:26.433 に答える
0

私は最終的に成功しました:

  • 暗号化されたクレデンシャルをWebページに保持する
  • シェルスクリプト(wget)のおかげでHudsonでそれらを取得し、それらを復号化しbuild.properties、ワークスペースに行を含むファイルを作成しますname=value(私の場合ssh.password=...

Antビルドステップがこのファイルを検出し、内部の変数をコンテキストに渡すため、これは機能します。そのおかげで、クレデンシャルを一元化できました。

于 2012-12-12T09:19:25.293 に答える