先日のJenkins User Conference 2015でWorkflow Pluginの情報を入手しましたので 簡単な導入から良く使われるワークフローをテストコードで確認してみました。 導入 Workflow PluginはWorkflow Aggregatorと言うプラグインを入れる必要があります。 こちらを入れると新規ジョブ作成で以下のWorkflowスタイルのジョブが作成出来るようになります。 Workflowジョブには見慣れないGroovy CPS DLSのスクリプトを書く所が出てきます。 ワークフローはここに記載していきます。 挙動確認 思ったよりも必要なpluginが未対応?のようなのでガチ利用は諦めて既存のジョブ同士を繋いでワークフローを作成する利用に限定します。 挙動確認の為に以下のテスト用のジョブを生成しました。 test-workflowがworkflowジョブ
Jenkins のPipeline の使い方と環境設定についてメモ。 Pipeline について Jenkins のPipeline 機能が追加されてからもう2年近くが経ちますが、今の今までGroovy が分からなくて触ってなかったのですが、最近使って便利だったので使い方と環境設定についてメモします。 Jenkins Pipeline の概要については以下のページが参考になります。 jenkins.io www.buildinsider.net 開発環境 Jenkins : 2.32.1 master : Windows Server 2012 R2 Slave : Windows 10 Enterprise 1709 Pipeline を使う Pipeline の使い方、Groovy の書き方についての日本語情報は以下のページが非常に参考になりました。 kimulla.hatenablo
declarative pipeline とは Jenkins pipelineは次の2つの構文をサポートしています。 Scripted Pipeline Declarative Pipeline (Pipeline 2.5で導入) Scripted Pipelineは柔軟な表現ができますがやや複雑でした。 Declarative Pipeline ではよりシンプルな記述が可能になりました。 そして、Declarative Pipeline では必要に応じてScripted Pipelineの柔軟な表現も行えるため、両者のメリットを共に享受することができる構文となっています。 本記事では実際にdeclarative pipelineでどのようなことができるのかを紹介していきたいと思います。 Jenkinsfileはこちらコミットしてありますので、併せて紹介をしていきます。 また関連するペー
本記事はアカウンティング・サース・ジャパン Advent Calendar 2016の5日目の記事です。 アカウンティング・サース・ジャパンは税理士向けクラウド会計システムA-SaaS(エーサース)を提供しているベンチャー企業です。ここしばらく常駐でお手伝いさせていただいており、現在はインフラ周りの改善を担当しています。 はじめに 継続的インテグレーションや継続的デプロイが当たり前の時代ですが、皆様のプロジェクトにおかれましてはTravisCIやCircleCIなどCIツールは導入済みでしょうか。 A-SaaSのシステムはRabbitMQなどで構成されたマイクロサービスアーキテクチャになっていて、アプリケーションは主にJavaやScala、たまにErlang(!)で構築されています。このようなシステムの中でデプロイフローがやや複雑になってきていたので、CIツールとしてJenkins2.0で
This chapter covers all recommended aspects of Jenkins Pipeline functionality, including how to: get started with Pipeline — covers how to define a Jenkins Pipeline (i.e. your Pipeline) through Blue Ocean, through the classic UI or in SCM, create and use a Jenkinsfile — covers use-case scenarios on how to craft and construct your Jenkinsfile, work with branches and pull requests, use Docker with P
JenkinsやSpinnakerなどの開発をホストする「Continuous Delivery Foundation」発足。CI/CDの普及とエコシステムの発展を促進 Linux Foundationは「Continuous Delivery Foundation」の設立を発表しました。 Continuous Delivery Foundationは、次の4つの価値を基本原則とするとされています。 Continuous Deliveryは開発者やチームに力(パワー)を与え、高品質のソフトウェアの迅速な開発を実現できると信じます オープンソースソリューションはソフトウェアデリバリのライフサイクル全体を包括的に解決できると信じます コラボレーションと相互運用性を通じてオープンソースのエコシステムやベンダニュートラルなプロジェクトを維持し、育成していきます。 これらの考えを支持し、実践している
やりたいこと セキュリティ的なアレで社内ではSlackが利用できないのでMattermostを利用しています。 開発経験が浅いメンバが多く、平気でコンパイルエラーになるソースコードをコミットしてくるので、Jenkinsでビルドエラーになった場合、Mattermostに自動でお叱りの投稿ができるようにしたいです。 Jenkinsにプラグインを追加する JenkinsにMattermost Notification Pluginを追加します。 https://plugins.jenkins.io/mattermost インターネットにつながる環境であればJenkinsのプラグインマネージャから追加できると思いますが、今回の環境はセキュリティ的なアレでつなががりません。(忌々しい・・・) そのため、上記URLからhpiファイルをダウンロードし、Jenkinsのpluginsディレクトリに取得した
Jenkins 2.0について書く記事の3回目です。今回は、前回書いたJenkins Pipelineを構成するDSLについて書きます。 フリースタイルプロジェクトのジョブ設定 1.x時代から存在したフリースタイルプロジェクトでは、Web上のUIを通してジョブを設定しました。この方法は、前回書いたように、わかりやすい反面いくつか問題点もありました。 機能が増えるにつれ設定UIが複雑になりがち 1つのジョブにつき1つのノードしか使えない デプロイパイプラインを構築するためには複数ジョブをつなげないといけない 設定の変更履歴を管理しづらい Scripted Pipeline 2.0のPipelineでは、GroovyによるDSLが導入され、Pipeline as Codeとしてジョブを設定できるようになりました。DSLによる柔軟な表現力により、上記の問題が改善されました。 必要な設定だけコード
勉強のために手元の Ubuntu 16.04 に Jenkins を入れてみた。仕事でたまに使っているが自分で設定するのは初めてだ。最新版はかなり変わってて面白かった。特に Jenkinsfile というテキストファイルで設定を記述する所と、最初から build agent docker を使う事前提になっている(?) のが興味深い。また、オプションで Blue Ocean プラグイン というのを使うと CircleCI のようなイマドキな画面に早変わりする。人気のある OSS 製品が陳腐化するというのは珍しくないが、こうして進歩を止めない姿勢は素晴らしい。 apt でインストール Download の説明に従う。自動更新が使える Jenkins Debian packages が楽そう。 Jenkins の公開鍵を apt-key で apt に保存する。 wget -q -O - ht
新卒の@Toriyabotです。 情報系の学部出身ではないのですがエンジニアとして入社し、最近では弊社のCI環境の改善を行なっています。 その過程でJenkinsのPipeline機能の導入を行なったのですが、これについて簡単に紹介したいと思います。 Pipelineとは Jenkinsはビルドやテスト、インスペクション、デプロイ(まとめてビルドと総称)などを自動化して「継続的インテグレーション(CI)」をサポートするツールですが、この自動化された一連の流れを定義するために導入されたのがPipelineです。 ジョブの新規作成画面から選ぶことができます。 ビルドスクリプトの一連の流れをJenkinsfileに記述する Pipelineでは"ビルド"の流れをJenkinsfileと呼ばれるgroovyベースのDSLで記述します。 groovyのコードとして書くことで、今まで設定できなかった項
インフラの駒崎です。Jenkins の Pipeline スクリプトについてのお話です。 早速ですが Jenkins の Pipeline スクリプト、使われていますでしょうか。 もしかしたら以前ちょっと書いていたけどやめてしまったとか、従来の GUI 設定のほうが楽だ、となんとなく敬遠してしまっている方もいるのではないでしょうか。 私が実際そうだったのですが、最近になってやっと Jenkinsfile - Pipeline スクリプトが身近に感じられてきましたので、現状の簡単なまとめを書いてみたいと思います。少しでも似た状況の方へのヒントやきっかけになれば幸いです。 Pipeline スクリプトは難しい? 私は正直、2016年に Jenkins 2 の目玉機能として Pipeline が出た当初は、とっつきにくい…わからん…と思っておりました。Jenkins を上っ面でなんとなく使ってい
何をやっているか分からない「Jenkinsおじさん」の作業を見える化しよう。Jenkins 2に新搭載されたPipelineを使えばパイプラインをコードで記述できるようになる。その基本的な使い方を解説。 ← 前回 連載 INDEX Jenkins 2に搭載された新機能の目玉として、今までPipelineプラグイン(※第3回で解説したBuild Pipelineプラグインとは別物である)として提供されていたPipeline(以下、パイプライン)が標準搭載されたことが話題となっている。今回はこのパイプライン機能について掘り下げて解説していきたい。 Jenkinsおじさん 「Jenkinsおじさん」という言葉を聞いたことはあるだろうか? これはJenkinsを運用管理してくれている人をロゴにあしらわれている紳士に例えて表現した言葉だ。恐らくJenkinsが活発に利用されているチームに1人はJen
概要 Jenkins2からPipelineが標準採用されたことにより、PipelineコードをJenkinsfileに定義することで今までUIでポチポチして定義していた各種タスクをコードベースで定義できるようになった。このことよりバージョン管理との統合もしやすくなりました。 下記ではGithub → Jenkins(JSのテスト、ソースのマージ)→ Slackへの一連の流れを簡単なサンプルと共に解説していきたいと思います。Jenkinsでの設定はプラグイン導入とジョブ作成時以外はしません!理想としてはJenkinsインストール後何もせずに使えると一番うれしいですが・・・Dockerで頑張ればいけるものでしょうか もし、gitlabをお使いならば、gitlab runnerでシンプルにCI環境を構築できるので、検討してみるのもいいかと思います 参考として「Gitlab(Runner、Cont
これは何? Windows Server 2012 R2にJenkinsの環境を構築した際のメモ ビルド/テストしたい環境は、Java(JRE1.8.0u20), Apache Ant(1.9.4), Git(1.9.4.mysgit.1) 作業時間メモ 今までJenkinsを構築したことはないレベルの人間で… windows serverのインストールからJenkinsのインストールなどなど含めて3~4時間? Jenkinsのビルドを複数つなげてごにょごにょしたりしたり遊んだのが8時間 自作Pluginを入れて遊んでみたのが8時間? 合計2日半くらい? installer と warをダウンロードする際の違いは? installer はサービスとして登録までをしてくれる。デフォルトのファイルパスは、c:\\Program Files(x86)\Jenkins だった。 war の場合は、
新しいジョブをフリースタイル・プロジェクトを作成しビルド手順で「シェルの実行」を選ぶと、ビルド時に実行するシェルスクリプトを入力できます。 Jenkinsは、このスクリプトが返す値(終了コード)によってビルドの成功・失敗を判断します。 終了コードが0: ビルド成功 終了コードが0以外: ビルド失敗 cutterでも、テストの成功・失敗によって0か非0かを返すようになっているため、結果をそのまま利用することができそうです。 ちなみにJenkins上で見るヘルプでは、このスクリプト実行欄のベストプラクティスとして、「こに長いシェルを記述しようとはしないで、代わりに、 シェルスクリプトをSCMに追加して、Jenkinsからそのシェルスクリプトを起動すること」を推奨しています。そうすることで、わざわざwebブラウザを開かなくてもシェルスクリプト自体の変更を管理できるようになるためです。なるほど、確
Jenkinsのジョブ1つに対して複数のGitリポジトリを登録してビルドする方法について調べたのでメモ。簡単にできると思いきや意外とハマってしまった。。。 確認した環境 Jenkins 1.456 Jenkins Git Plugin 1.1.16 Jenkins Multiple SCMs plugin 0.2 Jenkins Git Pluginのみではできない!? まずはJenkins Git Pluginの設定のみでできないか試してみたのだが、残念ながらこの方法は失敗。一応設定方法を紹介すると以下の通り。 ジョブの設定で、ソースコード管理システムにGitを選択しつつ、Repository URLにGitリポジトリのURLを設定する。 さらに、Repository URLの下にある追加ボタンをクリックするとRepository URLの入力項目を増やすことができるので、ここに別プロジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く