SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
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
  サーバにデプロイしたり、
► もう少しちゃんと働いてくれてます
無理矢理まとめ
► 自動運転するシェルスクリプトのエラーは安全
  に停止するように作ろう
► いつまでやるかわからない暫定運用を人手で
  やるのはしんどい
► 見えるようにしておけば改善しやすい
おしまい

Weitere ähnliche Inhalte

Was ist angesagt?

ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法Kazuto Kusama
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったことまべ☆てっく運営
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話JustSystems Corporation
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
C# 8.0 非同期ストリーム
C# 8.0 非同期ストリームC# 8.0 非同期ストリーム
C# 8.0 非同期ストリーム信之 岩永
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方増田 亨
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようShuto Suzuki
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本Takahiro YAMADA
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 

Was ist angesagt? (20)

ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
C# 8.0 非同期ストリーム
C# 8.0 非同期ストリームC# 8.0 非同期ストリーム
C# 8.0 非同期ストリーム
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しようCognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 

Andere mochten auch

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って何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyKazuhito 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 CIHiroshi Maekawa
 
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudy
「認定Jenkinsエンジニア(Certified Jenkins Engineer:CJE)試験」について調べてみた #jenkinsstudyKazuhito 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 東京 2015Kohsuke Kawaguchi
 
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~
不安定な環境の中でのバッチ処理~JobQueueシステムQudoを使った事例~Akabane Hiroyuki
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみてSotaro Omura
 

Andere mochten auch (20)

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

Ähnlich wie jenkinsで遊ぶ

Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCITakafumi Ikeda
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacksHiro 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 6Ransui Iso
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta 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でnodejsTakayoshi Tanaka
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識shigeya
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめYu Nobuoka
 

Ähnlich wie jenkinsで遊ぶ (20)

MoteMote Compiler Plugin
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
 
About Jobs
About JobsAbout Jobs
About Jobs
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
 
Openresty
OpenrestyOpenresty
Openresty
 
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案分散メモリ環境におけるシェルスクリプトの高速化手法の提案
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
 
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
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
 
CLRH_120414_WFTDD
CLRH_120414_WFTDDCLRH_120414_WFTDD
CLRH_120414_WFTDD
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編テスティングフレームワークに入門してみた - Swift編
テスティングフレームワークに入門してみた - Swift編
 
明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理
 
SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理
 
Clrh 110827 wfho
Clrh 110827 wfhoClrh 110827 wfho
Clrh 110827 wfho
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
 

Mehr von (^-^) 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
 

Mehr von (^-^) togakushi (15)

ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp
 
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
 
Janog33.5
Janog33.5Janog33.5
Janog33.5
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
 
sshdのお話
sshdのお話sshdのお話
sshdのお話
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
SSH力をつかおう
SSH力をつかおうSSH力をつかおう
SSH力をつかおう
 
Pakena #9
Pakena #9Pakena #9
Pakena #9
 
SSH力をつけよう
SSH力をつけようSSH力をつけよう
SSH力をつけよう
 
Sfstudy #2
Sfstudy #2Sfstudy #2
Sfstudy #2
 
ひとりsphinx
ひとりsphinxひとりsphinx
ひとりsphinx
 

jenkinsで遊ぶ