SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Jenkins CIテンプレート
(Azure版)の紹介
-JenkinsとHashCorpとAzureと-
李 昌桓(LEE CHANGHWAN)
自己紹介
• クリエーションライン株式会社
クラウドインテグレーション事業、データ分析サービス事業、MSP事業、トレーニングコース提供(
Chef、Dockerなど)。
• 李 昌桓 (LEE CHANGHWAN、@awk256)
データベースが超詳しいと言われているエンジニアです。現在、NoSQLを中核とするビックデータ処
理基盤のアーキテクトとして活動しています。
• 著書
✓ Amazon Cloudテクニカルガイド(インプレス、2010)
✓ Amazon Elastic MapReduceテクニカルガイド(インプレス、2012)
✓ Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j(インプレスR&D、2015)
✓ グラフ型データベース入門(共著:リックテレコム、2016)
✓ RDB技術者のためのNoSQLガイド(共著:秀和システム、2016)
1
• はじめに
• Jenkins CIテンプレート
• デモ
• 失敗しない必勝CI論
• CIテンプレート利用方法
本日のテーマ
2
• 生産力
国や組織
• 生産性
国や組織
• 新らな発想や行動が求めれる時代
敏捷性(アジリティ):速くて正確に
背景
3
• Programmerable Data Center
AWS、Azure、Google
→データセンターの様々なリソースをAPIで制御
• Infrastructuer as Code
Chef、Ansible、Terraform
→インフラのプロビジョニング及びコンフィグレーションをコード化
• Application Container
Docker
→Docker::アプリケーションコンテナー、 VM::サーバコンテーナ
→インフラコード化の守備範囲の一つ
• CIツール(Continuous Intergration Tool)
Jenkins、他に類似のもの何十種
→巨大な流れの受け皿
注目の流れ―
インフラがソフトウェアに
4
CIは、アジャイル手法の一部と言っても過言ではなく、近年では、アプリケーションのみな
らず、インフラの開発やデプロイにも注目されている。特にクラウドでは、インフラも最小
限の機能をデプロイし、繰り替えして置き換えながら最適化していく手法が一般化しつつ
ある。そこで、 CIツールは、品質や敏捷性(速さ+正確性)を確保するために欠かせ
ない道具になりつつある。
• Iterative Development:繰り返し型の開発
• Continuous Intergration:継続的インテグレーション
• Continuous Delivery:継続的デプロイ
本来、継続的な機能追加や改善が求められる開発プロジェクトにおいて、繰り返して開
発及びデプロイを実行するための手法の一つ。このような手法を実践ることをCI/CDの
導入、又は簡略にCI導入と言っている。そして、それらをサポートするソフトウェアを
CI/CDツール、又はCIツールと呼んでいる。現在は、「CI~」というソフトウェア何十種
も登場している。
CIという言葉
5
大げさに例えると、CIツールはイージス艦に似ている
特にJenkinsは、このような特徴が著しく、
様々な状況に柔軟に対応できる
クリエーションライン株式会社 6
CIツール自身は、大した武装をしていないが、
他をネットワーク越しで統合したり、動かすことが
できるという点で、戦略的な兵器である。
7
ネットワーク
VM
データベース
ストレージ
ログ
モニタリング
セキュリティ
コンテナー
コードチェック
コンピューティングを行う上で
必要な個別資源
ある種のシステム構成
コード
スタック
Jenkins CIテンプレートは、実践的なサンプルコードである。
• 誰でも手軽に習得できる
• カスタマイズして実務に利用できる
• ネイティブクラウドの設計思想をベースにしている
Jenkins CIテンプレート
8
インフラのデプロイ
クリエーションライン株式会社 9
git
ゴールデンイメージ
コンテナーのデプロイ
クリエーションライン株式会社 10
git
DockerDC
それぞれProvisioner提供して
いるが、実力は今一!
DockerDCは、外部レジストリに
対応していない。
Rancherも微妙?
ネイティブAPIで頑張れば何とか
なるかも
プログラムの品質管理
クリエーションライン株式会社 11
git
ソースコードの静的解析
Java/JavaScript/C#/C++/
COBOLなど20種以上コード
チェック
おそらく、将来はAI自動修正も
ビルド
WebUIテスト
スケジュールジョブ実行
イメージ&仮想ディスクのバックアップ例
クリエーションライン株式会社 12
git
③
スケジュールジョブ登録
バックアップ
サーバレスモジュール
クリエーションライン株式会社 13
git
ゴールデンVMイメージ
デプロイした活性化する
…悩ましかったコンテナーの監視が何なりとクリアできた
API/プラグインが豊富/サーバレス(SaaS)
クリエーションライン株式会社 14
git
①
datadog agent
Event
Metric
Monitor
デモ
クリエーションライン株式会社 15
メッセージ送信(#slack)
クリエーションライン株式会社 16
ジョブ選択
azure-send-message
ジョブ実行
[ビルド実行]
クリック
クリエーションライン株式会社 17
Input requestedクリック
sendと入力してクリック
クリエーションライン株式会社 18
├─jenkins/
│ └─send-message/
│ └─Jenkinsfile
│ └─run.sh
├─packer/
└─terraform/
userInputをもらう “send”
run.sh実行 “Hello クリエーションさん”
#slackに終了メッセージを送る
ジョブ実行
Gitリレポジトリをダウンロード
Jenkinsfile実行
イメージ作成
(Packer→Ansible+Serverspec)
クリエーションライン株式会社 19
gdb:graph database
jen: jenkins server
azure-packer-build-branch
クリエーションライン株式会社 20
ジョブ実行
Gitリレポジトリをダウンロード
Jenkinsfile実行
├─jenkins
│ └─ packer-build
│ └─Jenkinsfile
│ └─run.sh
└─packer
├─ansible
│ └─roles
│ ├─base
│ │ ├─files
│ │ └─tasks
│ │ └─main.yaml
│ └─gdb
│ ├─files
│ └─tasks
│ └─base.yaml
├─scripts
└─serverspec
│ ├─spec
│ │ ├─base
│ │ └─gdb
│ └─yaml
└─clee-gdb.json
└─variables.json
#slackに終了メッセージを送る
複雑に見えるがすべてJenkinsfile
(Groovy)にすべて収束されるシンプルな
構造。
Shellスクリプトを埋め込んだりするが、基
本的にDSL言語であるからある種の雛形
を理解れば、お手の物。
クリエーションライン株式会社 21
Ansibleでプロビジョニング
Serverspecでチェック
VMイメージ作成成功
サーバデプロイ(Terraform)
クリエーションライン株式会社 22
azure-graphdb-deploy-dev
クリエーションライン株式会社 23
├─jenkins
│ └─gdb-deploy-dev
│ └─Jenkinsfile
│ └─run.sh
└─terraform
├─gdb-deploy
│ └─custom_data
├─dev.tfvars
├─provider.tf
├─variables.tf
└─vm.tf
#slackにメッセージを送る
ジョブ実行
Gitリレポジトリをダウンロード
Jekinsfile実行
• すべてがソフトウェアになった
• 開発と運用が共同作業体制で導入に臨む
• 繰り返して価値を産まないものは優先順位を下げる
• 対象によっては、冪等性を捨てる(要らない)
• 個別リソースはパズルのように単独で置き換え可能にする(できないものあ
る)
• インフラもトライ&エラーで繰り返してデプロイしながら最適化していく
• サーバレスやSaaSを思い切り取り入れる
必勝CI論
ネイティブクラウド
24
今回は、主にインフラのコード化に焦点を当てている。
狩りの対象の姿や性格、挙動が変わっている。ハンターなら狩りのやり方を変え
るべきである。とは言え、長年の慣習や仕来たりなどは、志だけではなかなか変
わらこともあるし、新しい発想も、言葉で言うほど簡単ではない。
しかしながら、何が起きているかは明確である。まず、その認識から正すべきで
ある。アプリケーション開発では、コードの自動チェックや自動テスト、さらに将来
にはAIの導入が進むであろう。
インフラにおいては、ネイティブクラウド上のすべてのコンピューティング資源は、
もはやソフトウェアになっており、ソフトウェアで制御する。インフラ系のエンジニア
は、従来のソフトウェアの開発方法やデプロイ方法などを参考にすべきである。
なお、スキールセットを見直し、新しい道具になれるべきである。
すべてがソフトウェアになった
25
DevOpsの対立は、相互牽制という健全な組織の働きなので何ら問題もない。この2
つの組織が仲良くなる必要もない。むろし、組織運用として、適切に対立したほうが健全
だ。
問題は、冒頭で言っているように、取り扱うた対象が変わっている。開発で提供する物、
運用で守るべき物の姿も、中身も変わっている。機能性も著しく進化している。なお、敏
捷性が求めれる。
必要なことは、とちらから切り出してもいいのだが、かつてなかった状況にお互いに協力し
て対処する、いう発想を持つべきである。一つの解決策としては、開発と運用が1チーム
体制で作業を進めることである。
開発と運用が共同作業体制で開発に臨む
26
インフラも繰り返してデプロイしながら機能を追加し、最適化していくようになっている。機能向上の
ために繰り返して置き換えたり、変更が発生したりすうのものの優先順位を高くすべきでる。
リソースのライフサイクルのなかで1回しが発生しない物、発生頻度がとても少ないな物、頻度が高
くても大した価値を生まないものはコード化も優先順位を下げるべきである。あるいは、繰り返してデ
プロイする行為のなかに、平凡化して取り込んでしまうべきである。
例えば、
• ネットワーク構築は繰り返して起きるものでは、価値を徐々に上げていくものでも何でもない。
• DBクラスタ―構築のの初期環境設定はどうだろう。恰好よく見えるが、この手順は、DBのライ
フサイクルのなかで1回しが発生しない。一度、動きだすと3台以上、同時にデプロイするような
ことはもう発生しない。
• 障害復旧をコード化する必要があるのだろうか。
優先順位を下げるということは、コード化を全くしない、ということではない。繰り返して発生する置き
換えや機能向上のためのデプロイを流用し、人間による作業を併用することである。コード化は、機
械作業に拘りすぎると、非の価値を産み始める。
繰り返して価値を産まないものは優先順位を下げ
る
27
特にVMの場合、バグ修正や新しい機能の追加は、ゴールデンイメージに取り込
む。この作業の際には、素のパブリックのイメージから作り始める。そして、デプ
ロイ時には、VMを捨てて、新しいVMに置き換える。
これにシンプルな方法によってコードは飛躍的に簡単になる。冪等性に弱いと言
われているプロビジョニングツールやコンフィグレーションツールが超有効に働く。
もはや、冪等性は、ネイティブクラウドではいらない。オンプレミス遺物である。
デプロイ先がクラウドなら冪等性は捨てる。
28
ネイティブクラウドでは、インフラもアプリケーション同様に、機能を向上させなが
ら繰り返してデプロイを方法が定着されつつある。それができるためには、特に
VMやコンテナーの実装において、単品で置き換えても、周辺システムとの連携
を自己完結できるように設計する。もちろん、ネットワークように、リリースしてか
らはもう置き換えなど出来ないものある。できないものは、大概、置き換えはお
ろか、手入れをしなくていいものが殆どである。
まずは、サービス系の機能を実装。次は非サービスを系の機能を漸進的に繰り
返し、VMやコンテナー毎に置き換える方法で実行できるような構成にしておく。
このような方法では、ホストのHAクラスタ化が一般的である。そして、予め、
VMやコンテナーを置き換えるという思想での設計が必要である。
これらもまた、コードをシンプルにすることに大いに寄与する。シンプルなコードは、
品質向上や敏捷性に関わってくる。
個別リソースは、パズルのように単独で置き換え
できるようなインフラ構成にする
29
基本的にAPIで操作するのでコードと相性が良い。そして、サーバを1台稼働す
ることに関わるコストは無視できない。特に非サービス系の実装は、サーバゼロを
目指しいいのでは?
なお、SaaS系の運用ツールは、実に機能が充実している。例としえ、
datadogのようなものは、コンテナー運用を何なりとクリアできた。
サーバレスやSaaSを活用する
30
jenkins CIテンプレート利用方法
クリエーションライン株式会社 31
1.手許の環境
準備
2.MyGitリポ
ジトリの準備
(Bitbucket、
Gitlab)
5.Slack
CHANNEL
6.Jenkinsイン
ストール&初
期環境設定
3.公開
jenkins-build
のダウンロー
ド
4.MyGitリポ
ジトリにPush
7.Azure
Account&初
期環境
8.ジョブ登録
• gitコマンドが使えること
https://git-for-windows.github.io/
• Atemなどのエディターを用意する
https://atom.io/
1.手許の環境準備
32
• Gitlabにアカウント登録する
https://about.gitlab.com/
• グループ作成する
your-group
• プロジェクトを用意する
azure-build
• SSHキーを登録する(公開鍵)
jenkinsから必要になる場合もある(必須ではない)
2.MyGitリポジトリの準備
33
• jenkins-buildのリポジトリ(↓)
¥¥198.18.1.61¥各種資料の置き場
¥Jenkins-ci-template¥azure-
build¥azure-build-azure-build-test-
20170728.zip
3.jenkins-buildのダウンロード
34
Azure環境など認証系のものは、後(実際に実行してみるとき)、自分の環
境に変えてください。Meの環境にデプロイされても、、
azure-build-azure-build-test-20170728.zip解凍
mkdir your-jenkins-build
cd your-jenkins-build
mkdir azure-build
cd azure-build
azure-build-azure-build-test-20170728配下をazure-buildにコピー
git init # azure-build/で
git remote add origin https://gitlab.com/your-build/azure-
build.git
git add .
git commit -m "Initial commit"
git push -u origin master
※ブランチを切るがどうかはお任せ、、Meはブランチを切っている
4.MyGitリポジトリにPush
35
• 実行結果を#slackに通知する準備をする。
• 会社のSLACKから通知用の「YOUR CHANNEL」作成
• 左上段のyour nameクリック→
• Apps&Intergrationsクリック
• jenkins CI選択→
• Add configurationクリック
• Post to channelで「YOUR CHANNEL」検索
• Add jenkins CI Integrationクリック
• [Customize Name]を入力/[Token]を控える/Save Settingクリック
5.Slack通知準備
36
CentOS7.0にJenkinsをインストールする
http://qiita.com/inakadegaebal/items/b526ffbdbe7ff2b443f1
yum install java-1.8.0-openjdk
yum install git -y
yum install ansible -y
yum install unzip -y
yum install -y gcc libffi-devel python-devel openssl-devel httpd
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins -y
cat<<EOF>/etc/httpd/conf.d/jenkins.conf
ProxyPass /jenkins ajp://localhost:8080/jenkins nocanon
ProxyPassReverse /jenkins ajp://localhost:8080/jenkins
ProxyRequests Off
AllowEncodedSlashes On
<Proxy "ajp://localhost:8080/jenkins">
Order deny,allow
Allow from all
</Proxy>
EOF
service jenkins restart
chkconfig jenkins on
systemctl resart httpd
systemctl enable httpd
mkdir /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh
chmod 700 /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh/clee-jenkins-build.pem
chmod 600 /var/lib/jenkins/.ssh/clee-jenkins-build.pem
6.Jenkinsインストール&初期環境設定
#install on CentOS7
37
apt-get install -y apache2 openjdk-8-jdk
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
apt-get update -y
apt-get install -y jenkins
echo JENKINS_ARGS=¥"¥$JENKINS_ARGS --prefix=¥$PREFIX¥" >> /etc/default/jenkins
service jenkins restart
cat << EOF > /etc/apache2/mods-enabled/jenkins.conf
ProxyPass /jenkins http://localhost:8080/jenkins
ProxyPassReverse /jenkins http://localhost:8080/jenkins
ProxyRequests Off
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080/jenkins>
Order deny,allow
Allow from all
</Proxy>
EOF
a2enmod proxy
a2enmod proxy_http
service apache2 restart
mkdir /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh
chmod 700 /var/lib/jenkins/.ssh
chown jenkins. /var/lib/jenkins/.ssh/clee-jenkins-build.pem
chmod 600 /var/lib/jenkins/.ssh/clee-jenkins-build.pem
#install on ubuntu16.04
38
Post Install処理
39
「Administrator Password」設定
「Install suggest plugin」選択
「 Creater First Admin User」設定
「 Start Using Jenkins 」クリック
何もないのが特徴
• Azure Account取得
• テナントID控える
✓ サブスクリプション情報から控える
AZURE_TENANT=dd65daff-xxxx-xxxx-xxxx-7bf26eacdc04
• 認証情報取得
✓ Master Accountからアプリケーション登録し、キー生成して控える
AZURE_CLIENT_ID=7f5ca544-xxxx-xxxx-xxxx-8e6264fc65ce
AZURE_SECRET=HQ7S+5vIF4XXXXXXXXXXgtLKcSAx1dRWMRSADkPC
✓ サブスクリプションに登録要
• Azure環境を作成する
✓ リソースグループ
✓ ストレージ
✓ ネットワーク(VENT/SUBNET)
✓ セキュリティグループ(SUBNETと関連付け)
7.Azure Account&初期環境
40
8.ジョブ登録
41
・プラグイン登録
✓ Jenkinsの管理→プラグインの管理→利用可能タブで絞り込んでインストール
✓ プラグインの中身は、関連ツールの認証情報の受け渡しとパッケージのインス
トール
※パッケージが動かない場合、Jenkinsサーバにログインしてインストール
※認証チェインの受け渡しが 機能しない場合、provisionerにベタ書き
• 認証情報設定
✓ 認証情報→System →グロバルドメイン→認証情報追加
✓ 下記は、Gitlabへの接続情報設定
• 新規ジョブ作成→ジョブ名入力(Enter an item name) →OK
• 一般設定
42
同時実行しない
• Pipelineの設定
43
GitlabのプロジェクトURI
認証情報
Gitlabのブランチ名
リポジトリのrootからの
Jenkinsfileの相対パス
• Jenkinコードは自用度が高く、結局、属人化する
思い込み。Jenkinsfile自体がDSLでそれほど複雑にならない
• 学習コストが高い
思い込み。 YamlやJsonで定義するDSL言語とスクリプトの組み合わせなので、
大概、その日にコードが書ける (Chefのようなイメー ジではない)。特に、テン
プレートをベースにコードを書く、カスタイズしていくと楽々。
都市伝説
44
以上
45

Mais conteúdo relacionado

Mais procurados

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
 
Apache Mesosってなに
Apache MesosってなにApache Mesosってなに
Apache MesosってなにShingo Kitayama
 
ZabbixによるOpenStack監視のご紹介
ZabbixによるOpenStack監視のご紹介ZabbixによるOpenStack監視のご紹介
ZabbixによるOpenStack監視のご紹介VirtualTech Japan Inc.
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Kazuto Kusama
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with AnsibleHideki Saito
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたkokuboyuichi
 
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話gree_tech
 
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。Daigou Harada
 
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)VirtualTech Japan Inc.
 
DC/OS as PaaS : paasjp#36
DC/OS as PaaS : paasjp#36DC/OS as PaaS : paasjp#36
DC/OS as PaaS : paasjp#36JUNICHI YOSHISE
 
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介takanori suzuki
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Kohsuke Kawaguchi
 
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
[JANOG35.5] WhiteBox SW検証  ~サーバサイド編~[JANOG35.5] WhiteBox SW検証  ~サーバサイド編~
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~gree_tech
 
すごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうi_yudai
 
ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視Kodai Terashima
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたtoshi_pp
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCIYosuke Mizutani
 
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Kazuto Kusama
 

Mais procurados (20)

Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
Apache Mesosってなに
Apache MesosってなにApache Mesosってなに
Apache Mesosってなに
 
ZabbixによるOpenStack監視のご紹介
ZabbixによるOpenStack監視のご紹介ZabbixによるOpenStack監視のご紹介
ZabbixによるOpenStack監視のご紹介
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with Ansible
 
CIデモ環境 構築手順書
CIデモ環境 構築手順書CIデモ環境 構築手順書
CIデモ環境 構築手順書
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
 
自動化ハンズオン
自動化ハンズオン自動化ハンズオン
自動化ハンズオン
 
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
 
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
 
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
 
DC/OS as PaaS : paasjp#36
DC/OS as PaaS : paasjp#36DC/OS as PaaS : paasjp#36
DC/OS as PaaS : paasjp#36
 
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
 
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
[JANOG35.5] WhiteBox SW検証  ~サーバサイド編~[JANOG35.5] WhiteBox SW検証  ~サーバサイド編~
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
 
すごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼう
 
ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
 
Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
 

Semelhante a Jenkins study jenkins build-cicdi

Jenkins cicdテンプレートazure版の利用方法解説
Jenkins cicdテンプレートazure版の利用方法解説Jenkins cicdテンプレートazure版の利用方法解説
Jenkins cicdテンプレートazure版の利用方法解説Changhwan Lee
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014VirtualTech Japan Inc.
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌A AOKI
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデートKazumasa Ikuta
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpNobuhiro Sue
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますinfinite_loop
 
OpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすOpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすKUNITO Atsunori
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 

Semelhante a Jenkins study jenkins build-cicdi (20)

Jenkins cicdテンプレートazure版の利用方法解説
Jenkins cicdテンプレートazure版の利用方法解説Jenkins cicdテンプレートazure版の利用方法解説
Jenkins cicdテンプレートazure版の利用方法解説
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート20170804 IOS/IOS-XE運用管理機能アップデート
20170804 IOS/IOS-XE運用管理機能アップデート
 
IOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデートIOS/IOS-XE 運用管理機能アップデート
IOS/IOS-XE 運用管理機能アップデート
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocp
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
OpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすOpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かす
 
20170124 linux basic_2
20170124 linux basic_220170124 linux basic_2
20170124 linux basic_2
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 

Mais de 昌桓 李

Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介昌桓 李
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019昌桓 李
 
MongoDB Atlasの構成について 2019
MongoDB Atlasの構成について 2019MongoDB Atlasの構成について 2019
MongoDB Atlasの構成について 2019昌桓 李
 
グラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectivesグラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectives昌桓 李
 
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)昌桓 李
 
MongoDB Atlasアカウント取得
MongoDB Atlasアカウント取得MongoDB Atlasアカウント取得
MongoDB Atlasアカウント取得昌桓 李
 
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&AtlasMongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&Atlas昌桓 李
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j昌桓 李
 
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説昌桓 李
 

Mais de 昌桓 李 (9)

Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019
 
MongoDB Atlasの構成について 2019
MongoDB Atlasの構成について 2019MongoDB Atlasの構成について 2019
MongoDB Atlasの構成について 2019
 
グラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectivesグラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectives
 
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
スケールアップファーストのNoSQL、ScyllaDB(スキュラDB)
 
MongoDB Atlasアカウント取得
MongoDB Atlasアカウント取得MongoDB Atlasアカウント取得
MongoDB Atlasアカウント取得
 
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&AtlasMongoDB社の製品紹介 2019-MongoDB EA&Atlas
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
 
異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
 
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
 

Jenkins study jenkins build-cicdi