LoginSignup
0
0

More than 5 years have passed since last update.

Jenkins Pipelineで管理者承認が必要なコードをGitで管理する

Last updated at Posted at 2018-02-28

currentBuild.rawBuildは、認証済ライブラリか管理者に許可されたスクリプトからしか利用できない注釈がある。

Run with further APIs, only for trusted libraries or administrator-approved scripts outside the sandbox;

JenkinsのWebUI上でスクリプトを書いた場合、問題が起こったときにプログラムを参照しづらいし、そもそも履歴とかないから書き換えるのが恐いので、できればGitで管理したかった。

しかしGitからチェックアウトすると実行前に管理者が承認というフローができなくなり、且つ設定にはUse Groovy Sandboxに該当する設定がないので、sandbox外で実行することもできない。

解決策

Jenkinsの設定はWebUI上で記述するスクリプトにして、次のようなコードでGitから取得して対象のスクリプトファイルを実行するようにする。

node {
    git url: 'リポジトリURL', credentialsId: '必要な認証のID'
    load 'path/to/script.groovy'
}

Jenkinsの確認フローは壊れるが、Git側の管理で(githubならPRをマージできる人を限定するとか)十分かなと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0