サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
arasio.hatenablog.com
Jenkins のパイプラインスクリプト(Jenkinsfile)は groovy ベースですが、 セキュリティや機能上の理由から様々な制約があります。 特別複雑な処理に制約があるというわけでもなく、groovy なら誰もが使いたくなるリストやマップのクロージャ処理が使えなかったり、 Serializable でないオブジェクトを扱えなかったりと、思った以上に使いにくいところがあるようです。 今回はセキュリティ上の制約についてわかったことを書きたいと思います。 対象読者は、Jenkins 公式の Overview を一通り読んでこれから自分でスクリプトを書こうと思っている方、 書いてみたけど RejectedAccessException 例外が発生して先に進めない方などです。 セキュリティ上の制約 誰でも任意のコードをパイプラインスクリプトで実行できるのはさすがにセキュリティ上の問題があ
前回は Jenkinsfile を書く上で知っておくべきセキュリティ上の制約について紹介しました。 arasio.hatenablog.com 今回は、機能上の制約を書きたいと思います。 ここで言う機能上の制約とは、Jenkins がジョブの一時停止/再開機能を実現するために、代償としてパイプラインでは使えなくなっている Groovy の制約のことです。 一時停止/再開機能をどう実現しているかを説明してから、それに起因する制約と回避策を紹介します。 ジョブの一時停止/再開 パイプラインジョブは実行中に一時停止し、そこから再開することができます。 これを実現するために、パイプラインスクリプトはそのままコンパイルされるのではなく、 Jenkins 内部で持っている Groovy インタープリタで処理されます。 そして、一メソッドずつ命令を実行し、スタックなども含めたプログラムの状態を逐一永続化
このページを最初にブックマークしてみませんか?
『arasio.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く