1

Jenkins Choice パラメータを使用して、プロジェクト内のビルド後のジョブの実行を制御する方法はありますか?

war ファイルを作成しているプロジェクトがあり、EC2 Tomcat コンテナにデプロイできるように、この war ファイルを Amazon S3 バケットに送信したい場合があります (常にではありません)。Jenkins がプロジェクトをビルドするたびに war ファイルを S3 に送信し続けないようにしたい (これは 1 日に何度も発生します)。また、war ファイルを S3 に送信するタイミングを制御する方法が必要です。

私が見ることができる唯一のオプションは、現在のJenkinsプロジェクトを複製し、新しいプロジェクトにwarファイルをS3に送信させることですが、これは、回避しようとしている「ほぼ」まったく同じことを複数のJenkinsプロジェクトで実行することになることを意味します。

4

1 に答える 1

0

いや、そのための新しいビルド計画を立てないでください。宣言型パイプラインでさえ、このユース ケースを無意味なビジネスのようにサポートします。パラメータを取得したら(パラメータステップから。これらにより、「パラメータを使用してビルド」し、戦争を出荷したいときに実際の人にチェックボックスをチェックさせることができます)、params.MY_PARAM_NAMEを介して簡単に参照できます。echo以下の s を実際のコードに置き換えるだけです。

pipeline {
  agent { label 'docker' }

  parameters { booleanParam(name: 'SEND_WAR_TO_S3', defaultValue: false, description: 'Send resulting war file to s3?') }

  stages {
    stage('hot_stage') {
      steps {
        echo 'generating war...'
      }
    }
  }
  post {
    always {
      script {
        if (params.SEND_WAR_TO_S3) {
          echo 'sending war to s3'
        } else {
          echo 'not sending war to s3'
        }
      }
    }
  }
}
于 2017-04-24T00:30:43.960 に答える