ビットの海

ゆるふわソフトウェアエンジニアしゃぜのブログ

JenkinsでPipeline script from SCMを使うとSandboxをoffできないのでとりあえずのquick hack

[JENKINS-44558] P4Groovy works with "Pipeline script from SCM" without disabling sandbox - Jenkins JIRA

Jenkinsfile を書く前に知っておくべきこと (セキュリティ制約編) - あらしおブログ

上記にかかれているように、今のところ、「Pipeline script from SCM」を使うと「Use Groovy Sandbox」がoffできず非常に不便である。めんどくさい。

groovyはgit管理したいので、当面以下のようなquick hack(Definitionを「Pipeline script from SCM」じゃなくて、ただの「pipleline script」状態で記述)。

node {
    git url: 'https://example.com/foobar.git',
    branch: 'master', 
    credentialsId: 'xyz'
    load 'scripts/FooBarExecute.groovy'
}

Jenkinsに登録してあるgitのcredentialsIdが使えるのがポイント。(IDはJenkinsのCredentialsメニューを見よう)。また。loadすることにより、実行される。

FooBarExecute.groovyは普通のpipelineのお作法で書けば良い。

Happy Jenkins !