11

Jenkins Workflow プラグインの次のスクリプト:

def mapping = readFile 'a file'
mapping.eachLine {
      def line = it.tokenize('|')
      sh "${line[1]}"
}

スクリプトの承認が必要です:

staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods tokenize java.lang.String java.lang.String
staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods eachLine java.lang.String java.lang.String

スクリプトを正常に実行するには、ビルドを試行し、手動で承認を与えてから、別のビルドを再試行する必要があります。

大規模なスクリプトの場合、ホワイト リスト メソッドを保持するのはかなり面倒なプロセスです。

スクリプトの承認やホワイト リストを必要としないグルーヴィーなメソッドのサブセットはありますか?

4

1 に答える 1

5

新しく実行されたメソッドが表示されたら承認するだけです。

Script Security プラグインには、すでにホワイトリストに登録されているいくつかのメソッドが付属しています。あなたがここに挙げた方法は、まだ導入されていません。JENKINS-25804は、既定でルーチンの計算方法をホワイトリストに登録するという要望を追跡します。

SCMスクリプト ソースから Groovy CPS DSLを使用している場合、意図的にサンドボックス モードを無効にするオプション、つまりスクリプト全体の承認モードを使用するオプションがないことに注意してください。これは、どんなに些細なことでも、編集をコミットするたびに、管理者がスクリプト全体を承認する必要があるためです。対照的に、Groovy CPS DSLソースを使用すると、管理者が行ったすべての編集は、個別の手順なしで承認済みとしてすぐに記録されます。

于 2015-04-09T19:33:55.620 に答える