2017-11-26 10 views
0

RDS DBインスタンスの作成を含むCloudFormationスタックを作成するJenkinsジョブを設定し、特定の環境でそのデータベースの最新の使用可能なスナップショットからDBインスタンスを復元しました。パラメータ化されたビルドで前のパラメータの選択に基づいてパラメータを設定する方法はありますか?

3つの異なる環境があります。 Dev,StgおよびPrdおよび各環境はそれ自身のデータベースを有する。ユーザーがパラメータで構築することを選択したとき、彼はで、他のものの間でChoiceのパラメータリストと移入され拡張パラメータリストからRDSスナップショットIDからEnvironmentを(選択するよう求めています現在

、データベースの最新のRDSスナップショットID(Dev,Stg,Prd)を使用して、Groovyコードを実行します。

基本的に、ユーザーはEnvironmentという名前とRDSスナップショットIDを手動で選択する必要があります。

ようRDSスナップショットIDためのDevEnvironmentとしてPRDを選択するようヒューマンエラーを回避するために、私はにRDSSnapshotIdパラメータ(グルービースクリプトによって移入されたもの)を設定したいです条件付きでEnvironmentが選択されて設定されます。

Devを選択すると、RDSSnapshotIdパラメータには、その環境に対応するRDSスナップショットIDが設定されます。

できますか?

答えて

0
  1. 下記4に従ってごCloudFormationジョブのフォルダ内のファイルを作成し、あなたのCloudFormationのジョブを実行するのGroovyスクリプトを実行し、新しいプロジェクトを作成します。

  2. 選択拡張Choiceのパラメータ→◉マルチレベルパラメータ型

  3. 選択パラメータタイプマルチレベルシングルセレクト

  4. プロパティファイル<CloudFormation job's folder>/ChoiceParameters.txt

    は、次のようになります。

    Environment→RDS Snapshot ID 
    Dev→Dev ID 1 
    Dev→Dev ID 2 
    Stg→Stg ID 1 
    Stg→Stg ID 2 
    Prd→Prd ID 1 
    Prd→Prd ID 2 
    
  5. :理論だEnvironment,RDS Snapshot ID

、少なくとも。残念ながら、私のJenkins v2.73.3で動作しません
拡張選択パラメータプラグインv0.76 atm(第1レベルの項目を選択した後に第2レベルの項目は表示されません)が、以前のバージョンでは機能していました。

これが表示されます:パラメータ名前には、環境変数になるのでスペースは入れてはいけません。

UPDATE

私はExtended Choice Parameter pluginバージョン0.44(2015年6月2日)高度な例で述べた例を試みた:をし、それが一目で有望に見えます。

+0

私はアップストリーム/ダウンストリームジョブを使用することを避けたいと思います。 –

+0

@ItaiGanot Jenkinsプロジェクトで_Pre-Parameter-Selection Actions_は利用できません(まだですか?あなたのような便利な場面がありました)。たぶん[_Extended Choice Parameter plugin_](https://wiki.jenkins.io/display/JENKINS/Extended+Choice+Parameter+plugin)→_Version 0.44(2015年6月2日)_→_Advanced Ex:_ canこれを達成するが、私はそれを試みたことはありません。それを試してみようとするなら、それが成功したかどうかにかかわらずここに回答を提供してください。私は本当に知りたいと思っています。 –

関連する問題