SlideShare a Scribd company logo
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
catchError {
def stage
def util
//
node {
checkout scm
stage = load 'jenkins/stage.groovy'
util = load 'jenkins/util.groovy'
}
//
stage.compile(util)
if (!stage.test(util)) return
stage.pkg(util, 'dev')
stage.deploy(util, 'dev')
if (!stage.smokeTest(util)) return
stage.pkg(util, 'beta')
}
typetalkSend name: 'Jenkins', topicId: 1234
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
catchError {
stage.compile(util)
if (!stage.test(util)) return
}
typetalkSend name: 'Jenkins', topicId: 1234
def isSuccess() {
currentBuild.result == 'SUCCESS' || currentBuild.result == null
}
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
def image = docker.image('nulab-operation-server')
image.inside('-u root') {
sh "fab $target app.release
}
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
public class TypetalkSendStep extends AbstractStepImpl {
@DataBoundConstructor
public TypetalkSendStep(@Nonnull String name, @Nonnull Long topicId) {
this.name = name;
this.topicId = topicId;
}
@Extension
public static class DescriptorImpl extends AbstractStepDescriptorImpl {
@Override
public String getFunctionName() {
return "typetalkSend";
}
@Override
public String getDisplayName() {
return "Notify Typetalk when the build fails";
}
public DescriptorImpl() {
super(TypetalkSendStepExecution.class);
}
}
public static class TypetalkSendStepExecution
extends AbstractSynchronousNonBlockingStepExecution<Void> {
private static final long serialVersionUID = 1L;
@Inject
transient TypetalkSendStep step;
@StepContextParameter
transient TaskListener listener;
@StepContextParameter
transient Run run;
@Override
protected Void run() throws Exception {
new NotifyDelegate(step.name, step.topicId, listener, run)
.notifyResult();
return null;
}
}
}
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
List<RefSpec> refSpecs = getRefSpecs();
client.fetch(remoteName, refSpecs.toArray(new RefSpec[refSpecs.size()]));
…
for (Branch b : client.getRemoteBranches()) {
if (!isPullRequestOpen(pullRequests, branchName)) {
continue;
}
…
}
protected List<RefSpec> getRefSpecs() {
// return Arrays.asList(new RefSpec("+refs/heads/*:refs/remotes/" +
getRemoteName() + "/*"));
return Arrays.asList(new RefSpec("+refs/pull/*:refs/remotes/" +
getRemoteName() + "/*"));
}
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~

More Related Content

What's hot (20)

Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jumpei Miyata
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
Takuto Wada
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
Yoshifumi Kawai
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
Masami Ichikawa
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
PHPの戻り値型宣言でselfを使ってみよう
PHPの戻り値型宣言でselfを使ってみようPHPの戻り値型宣言でselfを使ってみよう
PHPの戻り値型宣言でselfを使ってみよう
DQNEO
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
 
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門
Hiroshi Tokumaru
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
 
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門
Ryosuke Uchitate
 
Vue.js で XSS
Vue.js で XSSVue.js で XSS
Vue.js で XSS
tobaru_yuta
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
 
NGINX Plus Hands On Training
NGINX Plus Hands On Training NGINX Plus Hands On Training
NGINX Plus Hands On Training
NGINX, Inc.
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
Shigeru Tatsuta
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
オラクルエンジニア通信
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Masahito Zembutsu
 
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jumpei Miyata
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
Takuto Wada
 
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション.NET最先端技術によるハイパフォーマンスウェブアプリケーション
.NET最先端技術によるハイパフォーマンスウェブアプリケーション
Yoshifumi Kawai
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
Masami Ichikawa
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
PHPの戻り値型宣言でselfを使ってみよう
PHPの戻り値型宣言でselfを使ってみようPHPの戻り値型宣言でselfを使ってみよう
PHPの戻り値型宣言でselfを使ってみよう
DQNEO
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
 
XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門XXE、SSRF、安全でないデシリアライゼーション入門
XXE、SSRF、安全でないデシリアライゼーション入門
Hiroshi Tokumaru
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
 
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門
Ryosuke Uchitate
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
 
NGINX Plus Hands On Training
NGINX Plus Hands On Training NGINX Plus Hands On Training
NGINX Plus Hands On Training
NGINX, Inc.
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
Shigeru Tatsuta
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
オラクルエンジニア通信
 
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Masahito Zembutsu
 

Viewers also liked (20)

「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
Kazuhito Miura
 
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
Kazuhito Miura
 
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFDサラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
Kazuhito Miura
 
Startup jenkins!
Startup jenkins!Startup jenkins!
Startup jenkins!
Kanu orz
 
モックアップ共有のススメ
モックアップ共有のススメモックアップ共有のススメ
モックアップ共有のススメ
Kazuyoshi Goto
 
Shibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみたShibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみた
Kanu orz
 
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAAよろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
Kazuhito Miura
 
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum  #sgt2016スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum  #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
満徳 関
 
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
Jun Iio
 
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
 
自動化パタンランゲージ
自動化パタンランゲージ自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
 
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Takahisa Wada
 
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
 
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Kazuhito Miura
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
 
邪道Jenkins
邪道Jenkins邪道Jenkins
邪道Jenkins
hazisarashi
 
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみたJenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
 
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとJenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
 
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
Kazuhito Miura
 
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
Kazuhito Miura
 
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFDサラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
Kazuhito Miura
 
Startup jenkins!
Startup jenkins!Startup jenkins!
Startup jenkins!
Kanu orz
 
モックアップ共有のススメ
モックアップ共有のススメモックアップ共有のススメ
モックアップ共有のススメ
Kazuyoshi Goto
 
Shibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみたShibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみた
Kanu orz
 
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAAよろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
Kazuhito Miura
 
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum  #sgt2016スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum  #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
満徳 関
 
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
Jun Iio
 
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
 
自動化パタンランゲージ
自動化パタンランゲージ自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
 
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Takahisa Wada
 
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
 
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Kazuhito Miura
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
 
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみたJenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
 
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみるとJenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
 

Similar to Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~ (20)

Javascript: the important bits
Javascript: the important bitsJavascript: the important bits
Javascript: the important bits
Chris Saylor
 
Java script for web developer
Java script for web developerJava script for web developer
Java script for web developer
Chalermpon Areepong
 
Construire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleConstruire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradle
Thierry Wasylczenko
 
Workflow para desenvolvimento Web & Mobile usando grunt.js
Workflow para desenvolvimento Web & Mobile usando grunt.jsWorkflow para desenvolvimento Web & Mobile usando grunt.js
Workflow para desenvolvimento Web & Mobile usando grunt.js
Davidson Fellipe
 
How and why i roll my own node.js framework
How and why i roll my own node.js frameworkHow and why i roll my own node.js framework
How and why i roll my own node.js framework
Ben Lin
 
Writing Maintainable JavaScript
Writing Maintainable JavaScriptWriting Maintainable JavaScript
Writing Maintainable JavaScript
Andrew Dupont
 
Multithreading in Java
Multithreading in JavaMultithreading in Java
Multithreading in Java
Appsterdam Milan
 
Implicit parameters, when to use them (or not)!
Implicit parameters, when to use them (or not)!Implicit parameters, when to use them (or not)!
Implicit parameters, when to use them (or not)!
Julien Truffaut
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察
Tsuyoshi Yamamoto
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone
 
LinkedIn TBC JavaScript 100: Functions
 LinkedIn TBC JavaScript 100: Functions LinkedIn TBC JavaScript 100: Functions
LinkedIn TBC JavaScript 100: Functions
Adam Crabtree
 
Cool JVM Tools to Help You Test
Cool JVM Tools to Help You TestCool JVM Tools to Help You Test
Cool JVM Tools to Help You Test
Schalk Cronjé
 
JavaScript (without DOM)
JavaScript (without DOM)JavaScript (without DOM)
JavaScript (without DOM)
Piyush Katariya
 
amsterdamjs - jQuery 1.5
amsterdamjs - jQuery 1.5amsterdamjs - jQuery 1.5
amsterdamjs - jQuery 1.5
mennovanslooten
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
Ortus Solutions, Corp
 
Real world cross-platform testing
Real world cross-platform testingReal world cross-platform testing
Real world cross-platform testing
Peter Edwards
 
Unittests für Dummies
Unittests für DummiesUnittests für Dummies
Unittests für Dummies
Lars Jankowfsky
 
Creating Gradle Plugins - Oredev
Creating Gradle Plugins - OredevCreating Gradle Plugins - Oredev
Creating Gradle Plugins - Oredev
Annyce Davis
 
Web Apps building with Webpack
Web Apps building with WebpackWeb Apps building with Webpack
Web Apps building with Webpack
Ignacio Velazquez
 
Php unit the-mostunknownparts
Php unit the-mostunknownpartsPhp unit the-mostunknownparts
Php unit the-mostunknownparts
Bastian Feder
 
Javascript: the important bits
Javascript: the important bitsJavascript: the important bits
Javascript: the important bits
Chris Saylor
 
Construire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleConstruire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradle
Thierry Wasylczenko
 
Workflow para desenvolvimento Web & Mobile usando grunt.js
Workflow para desenvolvimento Web & Mobile usando grunt.jsWorkflow para desenvolvimento Web & Mobile usando grunt.js
Workflow para desenvolvimento Web & Mobile usando grunt.js
Davidson Fellipe
 
How and why i roll my own node.js framework
How and why i roll my own node.js frameworkHow and why i roll my own node.js framework
How and why i roll my own node.js framework
Ben Lin
 
Writing Maintainable JavaScript
Writing Maintainable JavaScriptWriting Maintainable JavaScript
Writing Maintainable JavaScript
Andrew Dupont
 
Implicit parameters, when to use them (or not)!
Implicit parameters, when to use them (or not)!Implicit parameters, when to use them (or not)!
Implicit parameters, when to use them (or not)!
Julien Truffaut
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察
Tsuyoshi Yamamoto
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone
 
LinkedIn TBC JavaScript 100: Functions
 LinkedIn TBC JavaScript 100: Functions LinkedIn TBC JavaScript 100: Functions
LinkedIn TBC JavaScript 100: Functions
Adam Crabtree
 
Cool JVM Tools to Help You Test
Cool JVM Tools to Help You TestCool JVM Tools to Help You Test
Cool JVM Tools to Help You Test
Schalk Cronjé
 
JavaScript (without DOM)
JavaScript (without DOM)JavaScript (without DOM)
JavaScript (without DOM)
Piyush Katariya
 
amsterdamjs - jQuery 1.5
amsterdamjs - jQuery 1.5amsterdamjs - jQuery 1.5
amsterdamjs - jQuery 1.5
mennovanslooten
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
Ortus Solutions, Corp
 
Real world cross-platform testing
Real world cross-platform testingReal world cross-platform testing
Real world cross-platform testing
Peter Edwards
 
Creating Gradle Plugins - Oredev
Creating Gradle Plugins - OredevCreating Gradle Plugins - Oredev
Creating Gradle Plugins - Oredev
Annyce Davis
 
Web Apps building with Webpack
Web Apps building with WebpackWeb Apps building with Webpack
Web Apps building with Webpack
Ignacio Velazquez
 
Php unit the-mostunknownparts
Php unit the-mostunknownpartsPhp unit the-mostunknownparts
Php unit the-mostunknownparts
Bastian Feder
 

More from ikikko (20)

SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
ikikko
 
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
ikikko
 
スクラム風でのつまずき体験から学んだこと
スクラム風でのつまずき体験から学んだことスクラム風でのつまずき体験から学んだこと
スクラム風でのつまずき体験から学んだこと
ikikko
 
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
ikikko
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
ikikko
 
エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~
ikikko
 
Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料
ikikko
 
Nulabとawsと私
Nulabとawsと私Nulabとawsと私
Nulabとawsと私
ikikko
 
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
ikikko
 
ヌーラボのサービス開発の裏側公開しちゃいます
ヌーラボのサービス開発の裏側公開しちゃいますヌーラボのサービス開発の裏側公開しちゃいます
ヌーラボのサービス開発の裏側公開しちゃいます
ikikko
 
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
ikikko
 
Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみよう
ikikko
 
Jenkins実践入門のnext step
Jenkins実践入門のnext stepJenkins実践入門のnext step
Jenkins実践入門のnext step
ikikko
 
JenkinsによるCIの導入
JenkinsによるCIの導入JenkinsによるCIの導入
JenkinsによるCIの導入
ikikko
 
レガシーコード改善ガイド輪読会 第9章
レガシーコード改善ガイド輪読会 第9章レガシーコード改善ガイド輪読会 第9章
レガシーコード改善ガイド輪読会 第9章
ikikko
 
モテBTS ~ backlog ~
モテBTS ~ backlog ~モテBTS ~ backlog ~
モテBTS ~ backlog ~
ikikko
 
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
ikikko
 
G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会
ikikko
 
エルシャダイで学ぶ、大丈夫な「ビルド通知」
エルシャダイで学ぶ、大丈夫な「ビルド通知」エルシャダイで学ぶ、大丈夫な「ビルド通知」
エルシャダイで学ぶ、大丈夫な「ビルド通知」
ikikko
 
今から始めるGoogle apps scirpt
今から始めるGoogle apps scirpt今から始めるGoogle apps scirpt
今から始めるGoogle apps scirpt
ikikko
 
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
SCRUMMASTER THE BOOKで広がるスクラムマスターの世界
ikikko
 
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
SCRUMMASTER THE BOOK翻訳活動における、リモート x モブ実践
ikikko
 
スクラム風でのつまずき体験から学んだこと
スクラム風でのつまずき体験から学んだことスクラム風でのつまずき体験から学んだこと
スクラム風でのつまずき体験から学んだこと
ikikko
 
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
継続的インテグレーションの過去・現在・そして未来 〜ヌーラボの事例と共に考える〜
ikikko
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
ikikko
 
エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~
ikikko
 
Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料Jenkinsユーザカンファレンス2015 前座資料
Jenkinsユーザカンファレンス2015 前座資料
ikikko
 
Nulabとawsと私
Nulabとawsと私Nulabとawsと私
Nulabとawsと私
ikikko
 
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
ikikko
 
ヌーラボのサービス開発の裏側公開しちゃいます
ヌーラボのサービス開発の裏側公開しちゃいますヌーラボのサービス開発の裏側公開しちゃいます
ヌーラボのサービス開発の裏側公開しちゃいます
ikikko
 
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
Backlog/Cacooから学ぶ、サービスに必要な機能の取捨選択と改善の仕方
ikikko
 
Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみよう
ikikko
 
Jenkins実践入門のnext step
Jenkins実践入門のnext stepJenkins実践入門のnext step
Jenkins実践入門のnext step
ikikko
 
JenkinsによるCIの導入
JenkinsによるCIの導入JenkinsによるCIの導入
JenkinsによるCIの導入
ikikko
 
レガシーコード改善ガイド輪読会 第9章
レガシーコード改善ガイド輪読会 第9章レガシーコード改善ガイド輪読会 第9章
レガシーコード改善ガイド輪読会 第9章
ikikko
 
モテBTS ~ backlog ~
モテBTS ~ backlog ~モテBTS ~ backlog ~
モテBTS ~ backlog ~
ikikko
 
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
ikikko
 
G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会
ikikko
 
エルシャダイで学ぶ、大丈夫な「ビルド通知」
エルシャダイで学ぶ、大丈夫な「ビルド通知」エルシャダイで学ぶ、大丈夫な「ビルド通知」
エルシャダイで学ぶ、大丈夫な「ビルド通知」
ikikko
 
今から始めるGoogle apps scirpt
今から始めるGoogle apps scirpt今から始めるGoogle apps scirpt
今から始めるGoogle apps scirpt
ikikko
 

Recently uploaded (20)

Effect of fertilizers and chiseling techniques on optimizing growth of cotton...
Effect of fertilizers and chiseling techniques on optimizing growth of cotton...Effect of fertilizers and chiseling techniques on optimizing growth of cotton...
Effect of fertilizers and chiseling techniques on optimizing growth of cotton...
Advances in Agriculture and Biology
 
Data Modelling For Software Engineers (Devoxx GR 2025).pdf
Data Modelling For Software Engineers (Devoxx GR 2025).pdfData Modelling For Software Engineers (Devoxx GR 2025).pdf
Data Modelling For Software Engineers (Devoxx GR 2025).pdf
Scott Sosna
 
AC2-Agile-Agile concepts in an enterprise environment
AC2-Agile-Agile concepts in an enterprise environmentAC2-Agile-Agile concepts in an enterprise environment
AC2-Agile-Agile concepts in an enterprise environment
Dennis Van Aelst
 
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Agile ME
 
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
Pavel Shukhman
 
Cross-Cloud Comparison and Security Notes
Cross-Cloud Comparison and Security NotesCross-Cloud Comparison and Security Notes
Cross-Cloud Comparison and Security Notes
Teri Radichel
 
People Over Process: Unlocking Agile Success Through Culture and Well-being b...
People Over Process: Unlocking Agile Success Through Culture and Well-being b...People Over Process: Unlocking Agile Success Through Culture and Well-being b...
People Over Process: Unlocking Agile Success Through Culture and Well-being b...
Agile ME
 
What is vibe coding AI-powered software development explained.pdf
What is vibe coding AI-powered software development explained.pdfWhat is vibe coding AI-powered software development explained.pdf
What is vibe coding AI-powered software development explained.pdf
ChristopherTHyatt
 
Human Centered Design By Gnanasambandham
Human Centered Design By GnanasambandhamHuman Centered Design By Gnanasambandham
Human Centered Design By Gnanasambandham
Gnanasambandham Anbazhagan CSP, CSM, CSPO
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
Ivanti
 
Unlocking advanced keyword analysis with machine learning and NLP for SEOs
Unlocking advanced keyword analysis with machine learning and NLP for SEOsUnlocking advanced keyword analysis with machine learning and NLP for SEOs
Unlocking advanced keyword analysis with machine learning and NLP for SEOs
Sante J. Achille
 
AC3-SCRUM-Agile concepts in an enterprise environment
AC3-SCRUM-Agile concepts in an enterprise environmentAC3-SCRUM-Agile concepts in an enterprise environment
AC3-SCRUM-Agile concepts in an enterprise environment
Dennis Van Aelst
 
AC1-intro-agenda-Agile concepts in an enterprise environment
AC1-intro-agenda-Agile concepts in an enterprise environmentAC1-intro-agenda-Agile concepts in an enterprise environment
AC1-intro-agenda-Agile concepts in an enterprise environment
Dennis Van Aelst
 
April Patch Tuesday
April Patch TuesdayApril Patch Tuesday
April Patch Tuesday
Ivanti
 
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...
DanBrown980551
 
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Agile ME
 
AI You Can Trust - The Role of Data Integrity in AI-Readiness.pdf
AI You Can Trust - The Role of Data Integrity in AI-Readiness.pdfAI You Can Trust - The Role of Data Integrity in AI-Readiness.pdf
AI You Can Trust - The Role of Data Integrity in AI-Readiness.pdf
Precisely
 
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...
DianaGray10
 
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8
DianaGray10
 
A Dell PowerStore shared storage solution is more cost-effective than an HCI ...
A Dell PowerStore shared storage solution is more cost-effective than an HCI ...A Dell PowerStore shared storage solution is more cost-effective than an HCI ...
A Dell PowerStore shared storage solution is more cost-effective than an HCI ...
Principled Technologies
 
Effect of fertilizers and chiseling techniques on optimizing growth of cotton...
Effect of fertilizers and chiseling techniques on optimizing growth of cotton...Effect of fertilizers and chiseling techniques on optimizing growth of cotton...
Effect of fertilizers and chiseling techniques on optimizing growth of cotton...
Advances in Agriculture and Biology
 
Data Modelling For Software Engineers (Devoxx GR 2025).pdf
Data Modelling For Software Engineers (Devoxx GR 2025).pdfData Modelling For Software Engineers (Devoxx GR 2025).pdf
Data Modelling For Software Engineers (Devoxx GR 2025).pdf
Scott Sosna
 
AC2-Agile-Agile concepts in an enterprise environment
AC2-Agile-Agile concepts in an enterprise environmentAC2-Agile-Agile concepts in an enterprise environment
AC2-Agile-Agile concepts in an enterprise environment
Dennis Van Aelst
 
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Agile ME
 
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
Pavel Shukhman
 
Cross-Cloud Comparison and Security Notes
Cross-Cloud Comparison and Security NotesCross-Cloud Comparison and Security Notes
Cross-Cloud Comparison and Security Notes
Teri Radichel
 
People Over Process: Unlocking Agile Success Through Culture and Well-being b...
People Over Process: Unlocking Agile Success Through Culture and Well-being b...People Over Process: Unlocking Agile Success Through Culture and Well-being b...
People Over Process: Unlocking Agile Success Through Culture and Well-being b...
Agile ME
 
What is vibe coding AI-powered software development explained.pdf
What is vibe coding AI-powered software development explained.pdfWhat is vibe coding AI-powered software development explained.pdf
What is vibe coding AI-powered software development explained.pdf
ChristopherTHyatt
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
Ivanti
 
Unlocking advanced keyword analysis with machine learning and NLP for SEOs
Unlocking advanced keyword analysis with machine learning and NLP for SEOsUnlocking advanced keyword analysis with machine learning and NLP for SEOs
Unlocking advanced keyword analysis with machine learning and NLP for SEOs
Sante J. Achille
 
AC3-SCRUM-Agile concepts in an enterprise environment
AC3-SCRUM-Agile concepts in an enterprise environmentAC3-SCRUM-Agile concepts in an enterprise environment
AC3-SCRUM-Agile concepts in an enterprise environment
Dennis Van Aelst
 
AC1-intro-agenda-Agile concepts in an enterprise environment
AC1-intro-agenda-Agile concepts in an enterprise environmentAC1-intro-agenda-Agile concepts in an enterprise environment
AC1-intro-agenda-Agile concepts in an enterprise environment
Dennis Van Aelst
 
April Patch Tuesday
April Patch TuesdayApril Patch Tuesday
April Patch Tuesday
Ivanti
 
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...
DanBrown980551
 
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Agile ME
 
AI You Can Trust - The Role of Data Integrity in AI-Readiness.pdf
AI You Can Trust - The Role of Data Integrity in AI-Readiness.pdfAI You Can Trust - The Role of Data Integrity in AI-Readiness.pdf
AI You Can Trust - The Role of Data Integrity in AI-Readiness.pdf
Precisely
 
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...
SAP Automation with UiPath: Top 10 Use Cases Across FI/MM/SD/Basis/PP Modules...
DianaGray10
 
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8
DianaGray10
 
A Dell PowerStore shared storage solution is more cost-effective than an HCI ...
A Dell PowerStore shared storage solution is more cost-effective than an HCI ...A Dell PowerStore shared storage solution is more cost-effective than an HCI ...
A Dell PowerStore shared storage solution is more cost-effective than an HCI ...
Principled Technologies
 

Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~

  • 8. catchError { def stage def util // node { checkout scm stage = load 'jenkins/stage.groovy' util = load 'jenkins/util.groovy' } // stage.compile(util) if (!stage.test(util)) return stage.pkg(util, 'dev') stage.deploy(util, 'dev') if (!stage.smokeTest(util)) return stage.pkg(util, 'beta') } typetalkSend name: 'Jenkins', topicId: 1234
  • 12. catchError { stage.compile(util) if (!stage.test(util)) return } typetalkSend name: 'Jenkins', topicId: 1234 def isSuccess() { currentBuild.result == 'SUCCESS' || currentBuild.result == null }
  • 15. def image = docker.image('nulab-operation-server') image.inside('-u root') { sh "fab $target app.release }
  • 19. public class TypetalkSendStep extends AbstractStepImpl { @DataBoundConstructor public TypetalkSendStep(@Nonnull String name, @Nonnull Long topicId) { this.name = name; this.topicId = topicId; } @Extension public static class DescriptorImpl extends AbstractStepDescriptorImpl { @Override public String getFunctionName() { return "typetalkSend"; } @Override public String getDisplayName() { return "Notify Typetalk when the build fails"; } public DescriptorImpl() { super(TypetalkSendStepExecution.class); } }
  • 20. public static class TypetalkSendStepExecution extends AbstractSynchronousNonBlockingStepExecution<Void> { private static final long serialVersionUID = 1L; @Inject transient TypetalkSendStep step; @StepContextParameter transient TaskListener listener; @StepContextParameter transient Run run; @Override protected Void run() throws Exception { new NotifyDelegate(step.name, step.topicId, listener, run) .notifyResult(); return null; } } }
  • 24. List<RefSpec> refSpecs = getRefSpecs(); client.fetch(remoteName, refSpecs.toArray(new RefSpec[refSpecs.size()])); … for (Branch b : client.getRemoteBranches()) { if (!isPullRequestOpen(pullRequests, branchName)) { continue; } … } protected List<RefSpec> getRefSpecs() { // return Arrays.asList(new RefSpec("+refs/heads/*:refs/remotes/" + getRemoteName() + "/*")); return Arrays.asList(new RefSpec("+refs/pull/*:refs/remotes/" + getRemoteName() + "/*")); }