あらしおブログ

技術ネタ中心の粗削りブログ

Jenkins

Jenkins パイプラインの stash/unstash を使ってノード間でファイルを転送する

Jenkins のパイプラインで stash/unstash を使って異なるノード間でファイルを転送する方法を紹介します。 英語の stash には、「しまう」という意味があるようです。一時的にファイルをどこかにしまって(stash)、 必要になったら取り出す(unstash) という操…

Jenkins を使って Gradle プロジェクトのテストを複数ノードで並列実行する方法

Parallel Test Executor Plugin は テストを分割し複数のノードで並列実行することができる Jenkins のプラグインです。 公式のチュートリアル には Maven プロジェクトでの使用例がありますが、Gradle での使い方が見つからなかったので私が試した方法を紹…

Jenkinsfile を書く前に知っておくべきこと (機能制約編)

前回は Jenkinsfile を書く上で知っておくべきセキュリティ上の制約について紹介しました。 arasio.hatenablog.com 今回は、機能上の制約を書きたいと思います。 ここで言う機能上の制約とは、Jenkins がジョブの一時停止/再開機能を実現するために、代償と…

Jenkinsfile を書く前に知っておくべきこと (セキュリティ制約編)

Jenkins のパイプラインスクリプト(Jenkinsfile)は groovy ベースですが、 セキュリティや機能上の理由から様々な制約があります。 特別複雑な処理に制約があるというわけでもなく、groovy なら誰もが使いたくなるリストやマップのクロージャ処理が使えなか…

Jenkins のパイプラインでマスターで実行するタスクを node ブロックで囲む意味

Jenkins のパイプラインスクリプトはマスターで処理されます。 また、各ノードで実行するタスクは node ブロックで囲んで表現します。 パイプラインスクリプトがそもそもマスターで処理されるのであれば マスターで実行したいタスクがあるとき、わざわざ nod…

Jenkins のパイプラインでは従来のプラグインは使えない

Jenkins 2 のパイプラインを使い始めました。 いろいろ試してみて私が一番驚いたのは、これまでのプラグインはどうやら基本的に使えないということです。 この記事は下のような方を対象にしています。 Jenkins 1.x で簡単なジョブ設計の経験がある パイプラ…

Jenkins 2 にしたら Parameterized Trigger Plugin が動かなくなった

Jenkins 1.62 から Jenkins 2.23 にアップデートしてみました。 既存のジョブで動作確認したところ、 Parameterized Trigger Plugin というプラグインで、上流プロジェクトから下流プロジェクトに パラメータを渡せなくなっていました。日本語の記事がなかな…