SlideShare a Scribd company logo
Jenkinsで遊ぶ
シェルスクリプトって便利だね
jenkinsとは
► 継続的インテグレーションをやる開発のツール
  自動ビルド、自動テスト
cronの変わりに使う
► cronの可視化をしてみる
► ビルドを行う部分でシェルスクリプトが実行でき
  る
► 起動させるための時間指定の書式がcronと
  まったく一緒
なにがうれしいか
► WebUIを持っている
► 実行にかかった時間をグラフ化してくれる
► ジョブ終了時の動作を指定できる
  メール通知
  別のジョブの呼び出し
  正常終了時と異常終了時で動作を変えれる
► リトライやタイムアウトを設定できる
► 実行時のログがすべて残せる(過去に遡って見れる)
グラフ化
エラーになったところは赤くなる




      増えていくのがわかる
実行ログが残せる




/dev/nullに捨てるなんてとんでもない!!
なにがざんねんか
► Javaで動くのでJDKのインストール必須
► 頻繁にアップデートされる
  放置すると残念なことに
► 起動は時間ぴったりに行われない
  起動が数秒でも遅れたら致命的なものには使えない
► 単語の混乱
  ジョブ?プロジェクト?(イコールっぽい)
  目的が違う使い方→ビルド?

   わりとどうでもいいことばかりなのでぜひ使うべし
はじめの一歩
► インストール
  Javaが入っていればOK
  RPMが提供されている
  yumリポジトリがある
► テストジョブ作成
  はろーわーるど的ななにか
  スリースタイルのジョブ
ジョブの構成
 ジョブの定義    ビルドの世代管理/リトライ回数/有効・無効/他のジョブ
              が動いてるときの動作/タイムアウトなど

                     いつ実行するか
 ビルド・トリガ   定期/ファイル・ディレクトリが更新されたら・別のジョブ
            から/リポジトリが更新されたら/メールボックス/IRC

ビルド環境の整備   ワークスペースの削除/事前に実行するコマンド/ログ
                    の出力形式

             処理内容(シェルスクリプト/Pythonなどなど)
  ビルド
                  何段にでも並べられる

            メール通知/別のジョブの呼び出し/成果物の保存
ビルド後の処理

                               プラグインで拡張
テキストエリアにブチ込む




  この中にシェルスクリプトをベタ書き
実行されるシェルスクリプト
► 一度/tmpに置かれる
► Jenkinsユーザが実行
► set –x付き(簡易デバッグモードもどき)
► set –e付き(何かのコマンドが非ゼロで終了した
  ら即中断)
► ワークスペース(作業場所)が決められている
set -x
► xtrace
    実行するコマンドや変数を展開して表示する
    set +xで無効にできる
set -e
►   シェルスクリプト内で使用しているコマンドのステータスコードが
    非ゼロ(異常終了)した場合に即座にスクリプトをexitするオプ
    ション(例外あり)
     ログに特定文字列がない場合が正常としたい
     →チェックのために「grep word …」すると…
     →1件もマッチしないとステータスコードが1
     いつでもset +eで効果を打ち消すことができる
►   例外の例
     例外その1:「! コマンド」のようにステータスコードを反転させてる場合
     例外その2:「コマンド1 | コマンド2 | コマンド3」のように連続したパイプ
     処理の中の最後のコマンド以外
     例外その3:ifやwhileなどの条件分岐で使われる式
grepの替わりのawkとsed
► awk/sedのパターンマッチで処理する
► grepのような細かい指定(-wや-iなど)は出来ないが、
 正規表現が使えるのでegrepと同じことが出来る

grep                awk                  sed
grep word file      awk ‘/word/’ file    sed –n ‘/word/p’ file
grep –v word file   awk ‘!/word/’ file   ---
grep –n word file   awk ‘/word/{print    sed –n ‘/word/=‘ file
(行番号以外も出力される)       NRF}’ file
シェルスクリプトをより安全に使う
► Jenkinsとは関係ない世界ですが…
► デバッグはしっかりしましょう
  特に異常系
  ファイルを指定して何かする→そのファイルがな
  かったらどうなりますか?
  変数に代入する値を何かから生成している→変数
  が空欄になったら何が起こりますか?
  前処理でエラーが発生してるのに後続の処理が実
  行されたらどうなりますか?
(寄り道)変数のパラメータ展開
► ${変数名:-単語}
   変数が未定義、もしくは空の場合は単語を使う
   変数は未定義のまま
► ${変数名:=単語}
   変数が未定義、もしくは空の場合は単語を代入してから使う
► ${変数名:?単語}
   変数が未定義、もしくは空の場合は単語の内容が表示され
   エラーを返す
   「${変数:?}」だけでもok
   set –uで変数(@と*以外)が未定義の場合は常にエラー
(寄り道) declare/typeset
► 変数に属性を付ける
  typeset –r hoge=‘fuga’

オプション 効果
   -i      すべて数値として扱う
           代入時に算術式評価が行われる
           文字列はゼロ
   -l      小文字に変換してから代入
   -u      大文字に変換してから代入
   -r      読み取り専用にする
           これ以降の変数の代入はエラー(unsetもできな
           い)
次のステップ
► プラグインの導入
► ジョブの連携
おすすめプラグイン(1)
► Dependency    Graph Viewer Plugin
    ジョブの繋がりをGraphvizで書いてくれる
► Dis   Usage Plugin
    ワークスペースの消費量をグラフ化
► Timestamper
    ジョブの実行ログの各行に実行時間を追加して出
    力
おすすめプラグイン(2)
► Build-timeout   Plugin
    指定時間内で終了しなかったジョブをエラーにする
► Jenkins   Workspace Cleanup Plugin
    ジョブの実行時/終了時にワークスペースを削除す
    る
► BuildResultTriggerやjoinなど
    ジョブのエラー時に他のジョブを呼び出す
    複数のジョブがすべて正常終了しないと次を実行し
    ないようにすることもできる
ジョブの連携
► エラーで処理が中断された場合、再処理を途
中から行える(好きなところからやり直せる)
  1. 各サーバからログを集める
  2. ログを解凍する
  3. 集計する
  など
► 分割されてグラフ描写されるので改善に繋げや
すい
ビルドスクリプトの分割
► スクリプトを書くテキストフォームはいくつでも追
  加できる
► ドラッグ&ドロップで並べ替えれる
► ワークスペースは共有する
どんな感じで使ってるの?
定例作業の省エネ化
► ○時になったらサーバにログインしてコマンドを
  叩く暫定運用
► すでにサービスインしてるサーバなのでcronに
  何か仕掛けるとかすると怒られる
  Jenkinsで定期的にsshを呼び出してコマンド実行
  ログは残っているので後でじっくり見れる
  過去に遡って見れる
  サボってもバレない
ログにエラーが出てないかときどき見て
► これまた暫定運用+サーバに何か仕掛けられ
ない
  ビルド1:sshで接続してログcatで開いてローカル
  ファイルにリダイレクト
  ビルド2:過去のエラーなどフィルタする文字列をヒ
  アドキュメントで別ファイルに出力
  ビルド3:grep –vf フィルタするファイル ログ | grep
  検索文字列
  後処理:出力があったらエラーにしてメールを飛ば
  す
定期的にファイルコピー
► rsyncやってるだけ
ログ集計
► サーバからログファイルを集めて
► ワークスペース内に全部置いて
► アクセス解析
などなど。
► 定期的に「なんかやって」の暫定運用を助けて
  くれる相棒としてjenkinsおっさんが活躍中
► 実際にはリポジトリのShpinxドキュメントを定期
  的にビルドしたり、
► リポジトリにコミットしたHPのコンテンツをWeb
  サーバにデプロイしたり、
► もう少しちゃんと働いてくれてます
無理矢理まとめ
► 自動運転するシェルスクリプトのエラーは安全
  に停止するように作ろう
► いつまでやるかわからない暫定運用を人手で
  やるのはしんどい
► 見えるようにしておけば改善しやすい
おしまい
Ad

More Related Content

What's hot (20)

次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
Yoshimasa Tanabe
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
 
邪道Jenkins
邪道Jenkins邪道Jenkins
邪道Jenkins
hazisarashi
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
 
挫折しないRedmine
挫折しないRedmine挫折しないRedmine
挫折しないRedmine
Go Maeda
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Kuniharu(州晴) AKAHANE(赤羽根)
 
AWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティス
Amazon Web Services Japan
 
「情報」を「書く」ということ(仮) #RedmineJapan
 「情報」を「書く」ということ(仮)  #RedmineJapan 「情報」を「書く」ということ(仮)  #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapan
Kazuhito Miura
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Yasuharu Nakano
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
Etsuji Nakai
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
Kota Saito
 
RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集
akipii Oga
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
貴志 上坂
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
Yoshimasa Tanabe
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
 
挫折しないRedmine
挫折しないRedmine挫折しないRedmine
挫折しないRedmine
Go Maeda
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Redmineチューニングの実際と限界(旧資料) - Redmine performance tuning(old), See Below.
Kuniharu(州晴) AKAHANE(赤羽根)
 
AWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティス
Amazon Web Services Japan
 
「情報」を「書く」ということ(仮) #RedmineJapan
 「情報」を「書く」ということ(仮)  #RedmineJapan 「情報」を「書く」ということ(仮)  #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapan
Kazuhito Miura
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Yasuharu Nakano
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
Etsuji Nakai
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
Kota Saito
 
RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集
akipii Oga
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
貴志 上坂
 
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
 

Viewers also liked (20)

Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Takayuki Okazaki
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
 
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
kunst1080
 
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみたJenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
 
自ら肥え太る執事を現場に入れてみた
自ら肥え太る執事を現場に入れてみた自ら肥え太る執事を現場に入れてみた
自ら肥え太る執事を現場に入れてみた
Kazuhito Miura
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
 
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Hiroshi Maekawa
 
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
Kazuhito Miura
 
TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」
TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」
TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」
(株)TAM
 
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
ikikko
 
Jenkins tips 20161014
Jenkins tips 20161014Jenkins tips 20161014
Jenkins tips 20161014
Hideaki Ishijima
 
Maven tips
Maven tipsMaven tips
Maven tips
Hideaki Ishijima
 
仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」
仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」
仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」
Kazuhito Miura
 
SCM, CI and Maven Repo
SCM, CI and Maven RepoSCM, CI and Maven Repo
SCM, CI and Maven Repo
Hideaki Ishijima
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
 
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
Akabane Hiroyuki
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
Preferred Networks
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Jenkins ユーザ・カンファレンス 2012 東京 S406-5 : 開発者とディレクターの視点を変えていく方法
Takayuki Okazaki
 
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーションJenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
 
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
kunst1080
 
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみたJenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
 
自ら肥え太る執事を現場に入れてみた
自ら肥え太る執事を現場に入れてみた自ら肥え太る執事を現場に入れてみた
自ら肥え太る執事を現場に入れてみた
Kazuhito Miura
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
 
第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI第8回大阪Jenkins勉強会LT: iOS vs CI
第8回大阪Jenkins勉強会LT: iOS vs CI
Hiroshi Maekawa
 
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
Kazuhito Miura
 
TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」
TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」
TAM 新人ディレクター システムスキルアップ プログラム 第5回 「システムドキュメント」
(株)TAM
 
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
ikikko
 
仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」
仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」
仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」
Kazuhito Miura
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
 
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
Akabane Hiroyuki
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
Sotaro Omura
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
Preferred Networks
 
Ad

Similar to jenkinsで遊ぶ (20)

Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
Hiro Yoshioka
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
greenasparagus
 
Openresty
OpenrestyOpenresty
Openresty
ogawatti
 
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
Keisuke Umeno
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Hiro Yoshioka
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
CLRH_120414_WFTDD
CLRH_120414_WFTDDCLRH_120414_WFTDD
CLRH_120414_WFTDD
Tomoyuki Obi
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
Ransui Iso
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
 
テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編
Hisakuni Fujimoto
 
明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理
Yuto Matsukubo
 
SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理
ina job
 
Clrh 110827 wfho
Clrh 110827 wfhoClrh 110827 wfho
Clrh 110827 wfho
Tomoyuki Obi
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
shigeya
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
Hiro Yoshioka
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
greenasparagus
 
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
Keisuke Umeno
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Hiro Yoshioka
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
Ransui Iso
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
 
テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編
Hisakuni Fujimoto
 
明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理
Yuto Matsukubo
 
SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理
ina job
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
shigeya
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
Yu Nobuoka
 
Ad

More from (^-^) togakushi (15)

ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介
(^-^) togakushi
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる
(^-^) togakushi
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0
(^-^) togakushi
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp
(^-^) togakushi
 
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramikoOpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
(^-^) togakushi
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
(^-^) togakushi
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi
 
SSH力をつかおう
SSH力をつかおうSSH力をつかおう
SSH力をつかおう
(^-^) togakushi
 
Pakena #9
Pakena #9Pakena #9
Pakena #9
(^-^) togakushi
 
ひとりsphinx
ひとりsphinxひとりsphinx
ひとりsphinx
(^-^) togakushi
 
ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介
(^-^) togakushi
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる
(^-^) togakushi
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0
(^-^) togakushi
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp
(^-^) togakushi
 
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramikoOpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
(^-^) togakushi
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
(^-^) togakushi
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi
 

jenkinsで遊ぶ