生産性向上ブログ

継続的な生産性向上を目指すエンジニアのためのブログ

jenkins

Jenkins のシステム設定を yaml で書けるようにする Configuration as Code プラグイン

これまで GUI から行っていた Jenkins のシステム設定を yaml で設定できる Configuration as Code プラグインについて解説します。 github.com これまでの Jenkins as Code 〇〇 as code は近年いろいろなところで見かけますが、設定をコード化するとソフト…

Jenkins で事前にプラグインがインストールされた Docker イメージを用意する方法

以前に Jenkins を公式の Docker イメージから構築する方法について書きましたが、今回は公式の Docker イメージに事前にプラグインをインストールした Docker イメージを作成する方法について書きます。 ちなみに、公式の説明は Docker イメージの GitHub …

Jenkins Pipeline の when + branch は通常のパイプラインジョブでは使えない

Jenkins Pipeline についての小ネタメモです。 まず、when + branch の条件について簡単に説明しますと、ビルドが特定のブランチに対して実行されるときだけ処理を実行するように書ける文法です。 pipeline { agent any stages { stage('Example Build') { s…

Jenkins Pipeline でパラメータ(環境変数)でビルドするブランチを指定する

小ネタメモです。 Jenkins のジョブを作るときに、パラメータを受け取ってその値を環境変数としてブランチに指定することがあると思います。 ↑こんな感じですね。 しかし、この方法を Jenkins Pipeline で行うとエラーが出ます。 hudson.plugins.git.GitExce…

Jenkins の Multibranch Pipeline で Jenkinsfile のパスを指定できるようになった件

Pipeline Multibranch Plugin の 2.15 で、表題の通り Jenkinsfile のパスを指定できるようになったのでメモです。 [JENKINS-34561] Allow to detect different Jenkinsfile filenames - Jenkins JIRA これまではリポジトリ直下の Jenkinsfile で決め打ちだ…

Jenkins 2.0 (5): Jenkinsfileをコマンドラインからlintする

Jenkins 2.0のDeclarative Pipelineには、Jenkinsfileをlintするための仕組みが用意されています。 curlとssh プラグインのWikiには、sshとcurlそれぞれでJenkinsをlintするための方法が紹介されています。以下は引用です。 # ssh方式 ssh -p [sshd port on …

Jenkins 2.0 (4): GitHub Organization Folder

Jenkins 2.0について書く記事の4回目です。今回は、GitHub連携について書きます。 GitHub連携でやりたいこと 昨今の一般的なCIサービスでは、GitHub連携に求められることは以下になります。 リポジトリにpushしたら自動でビルド開始される ビルド結果をcommi…

Jenkins 2.0 (3): Scripted Pipeline と Declarative Pipeline

Jenkins 2.0について書く記事の3回目です。今回は、前回書いたJenkins Pipelineを構成するDSLについて書きます。 フリースタイルプロジェクトのジョブ設定 1.x時代から存在したフリースタイルプロジェクトでは、Web上のUIを通してジョブを設定しました。この…

Jenkins 2.0 (2): Jenkins Pipeline

Jenkins 2.0の最新情報について書く記事の第2回目です。今回は、2.0の中心となるPipelineについて書きます。

Jenkins 2.0 (1): Dockerで環境構築

Jenkins 2.0 2016/04/26にJenkins 2.0がリリースされてから1年近くが経ちました。 リリース当初は、正直2.0のメリットをほとんど感じていませんでした。というのも、2.0の目玉であったPipeline Pluginは実は1.x系でもその時点の2.0とほぼ同等の機能が使えた…

Jenkins 2.19.1リリース

jenkins.io Jenkinsの最新LTSである2.19.1がリリースされたので、それについてまとめる。