Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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をマージできる人を限定するとか)十分かなと思う。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした