SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
AnsibleをWerckerでCIして

テストが終わると

本番環境が出来てる話
!
Kazuho Murakami(@kzh____)

2015 3/19 GaiaX社内勉強会
①push検知
③vagrant upで
 EC2立ち上げ
⑤serverspecで確認
②werckerの

 環境構築
④ansibleで

EC2の環境構築
Wercker
• CI SaaS
• GitHub / BitBucketのリポジトリに紐付いて

Pushされたら、wercker.ymlに書かれた処理を実行
• 仮想化環境のUbuntu上で実行
• 処理(Build)がエラーなく終わったら、

デプロイ(Deploy)を実行
AnsibleもCIしたい!
Werckerでは

CentOS向けに書いた

Ansibleのテストはできない
Wercker-box上では

yum install <package> が

できない!
Werckerから
AWSを立ち上げる!!!!
どうせ本番環境はAWSなんだし
Wercker環境に入れるもの


Ansible
serverspec
aws-sdk-v1
Vagrant
vagrant-aws
Ansible
• 構成管理ツール
• サーバーに色々入れたりとか
• ファイル作ったりとか
• BitBucketからcloneしてきたりとか
• ひと通りできます
Vagrant
• 簡単な環境設定/複製可能なマシン/業界標準
の技術で構築された1つの一貫したワークフ
ローによって制御される可搬的な開発環境を
提供します。(Vagrant日本語ドキュメント)
• IP決めたりとか。
serverspec
• サーバーの状態をテストする
• 自動構築した環境が本当に意図した通りにで
きあがっているかの確認作業を自動的に行え
るようにするツール

(ってどっかに書いてあった)
wercker-boxを作って

そこにいれておく
• 手元にUbuntuのローカル環境を用意しておく
• 途中で動作を止められない手段を選ぶ
• Timeoutを設定する
Wercker-Boxを作る上でのコツ
になるplugin
!
vagrant-aws
vagrant-aws
• vagrant upでEC2インスタンスを起動
• vagrant destroyでTerminate
• Vagrantfileに設定を色々書ける!
vagrantのすごいところ
!
ansibleがながせちゃう
vagrant-serverspec

っていうのもあるらしい…
werckerから
vagrant up!
所感
• はじめはただAnsibleのCIを回すだけだったはず。
• クラウドソースを最大限活用したDevOps
• コーディングからCI, デプロイまでを管理可能
• vagrantめっちゃべんり!
• AWS側のAMI(Machine Image)をうまく使えばもっと時
間短縮

Contenu connexe

Tendances

Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化真乙 九龍
 
AWS CLIでEC2の利用料金を節約する
AWS CLIでEC2の利用料金を節約するAWS CLIでEC2の利用料金を節約する
AWS CLIでEC2の利用料金を節約するYasuyuki Sato
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Sho A
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Hidetoshi Hirokawa
 
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?Hideaki Aoyagi
 
[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオン[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオンHiromichi Koga
 
[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオン[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオンHiromichi Koga
 
Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207Yutaka Hiroyama
 
Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012Akio Katayama
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話Masaki Kobayashi
 
BOSHで始めるImmutable Infrastructure
BOSHで始めるImmutable InfrastructureBOSHで始めるImmutable Infrastructure
BOSHで始めるImmutable Infrastructurei_yudai
 
Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方Kamimura Taichi
 
AWSをコードで定義する
AWSをコードで定義するAWSをコードで定義する
AWSをコードで定義するSugawara Genki
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化真乙 九龍
 
Ansible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryAnsible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryHideki Saito
 
OpenCenterによるOpenStack自動構築
OpenCenterによるOpenStack自動構築OpenCenterによるOpenStack自動構築
OpenCenterによるOpenStack自動構築guchi_hiro
 
K8s meetup containerized_cloud_foundry
K8s meetup containerized_cloud_foundryK8s meetup containerized_cloud_foundry
K8s meetup containerized_cloud_foundryJUNICHI YOSHISE
 

Tendances (20)

Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
AWS CLIでEC2の利用料金を節約する
AWS CLIでEC2の利用料金を節約するAWS CLIでEC2の利用料金を節約する
AWS CLIでEC2の利用料金を節約する
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
対話AI on Kubernetes
対話AI on Kubernetes対話AI on Kubernetes
対話AI on Kubernetes
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
 
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
 
[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオン[福井]Amimoto ハンズオン
[福井]Amimoto ハンズオン
 
[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオン[沖縄]Amimoto ハンズオン
[沖縄]Amimoto ハンズオン
 
Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207
 
Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012Aws elastic beanstalk-handson-summit2012
Aws elastic beanstalk-handson-summit2012
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
 
Ecs
EcsEcs
Ecs
 
BOSHで始めるImmutable Infrastructure
BOSHで始めるImmutable InfrastructureBOSHで始めるImmutable Infrastructure
BOSHで始めるImmutable Infrastructure
 
Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方Ansible roleとinventoryの書き方
Ansible roleとinventoryの書き方
 
AWSをコードで定義する
AWSをコードで定義するAWSをコードで定義する
AWSをコードで定義する
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
Kubernetes helm & helmc
Kubernetes helm & helmcKubernetes helm & helmc
Kubernetes helm & helmc
 
Ansible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryAnsible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic Inventory
 
OpenCenterによるOpenStack自動構築
OpenCenterによるOpenStack自動構築OpenCenterによるOpenStack自動構築
OpenCenterによるOpenStack自動構築
 
K8s meetup containerized_cloud_foundry
K8s meetup containerized_cloud_foundryK8s meetup containerized_cloud_foundry
K8s meetup containerized_cloud_foundry
 

En vedette

Slideshare Practice
Slideshare Practice Slideshare Practice
Slideshare Practice Jaimucci
 
Fulbright Scholar Opportunities for Mason ELI Professionals
Fulbright Scholar Opportunities for Mason ELI ProfessionalsFulbright Scholar Opportunities for Mason ELI Professionals
Fulbright Scholar Opportunities for Mason ELI ProfessionalsMasonELI
 
Obsessive compulsive disorder
Obsessive compulsive disorderObsessive compulsive disorder
Obsessive compulsive disorderVanessa Cooke
 
Optimized high-acid pasteurization
Optimized high-acid pasteurizationOptimized high-acid pasteurization
Optimized high-acid pasteurizationTetra Pak
 
Dibuixmohamadwarkiskariconvertita pdf
Dibuixmohamadwarkiskariconvertita pdfDibuixmohamadwarkiskariconvertita pdf
Dibuixmohamadwarkiskariconvertita pdfAS123Cg
 
Telecontrollo prese tramite linea telefonica DTMF
Telecontrollo prese tramite linea telefonica DTMFTelecontrollo prese tramite linea telefonica DTMF
Telecontrollo prese tramite linea telefonica DTMFDavide Mercanti
 
Sivanesan (1018)
Sivanesan (1018)Sivanesan (1018)
Sivanesan (1018)christmagin
 
วิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัย
วิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัยวิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัย
วิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัยkiriyadee1
 
Information Literacy and Higher Education
Information Literacy and Higher EducationInformation Literacy and Higher Education
Information Literacy and Higher EducationEileen Shepherd
 
งานนำเสนอ อาย
งานนำเสนอ อายงานนำเสนอ อาย
งานนำเสนอ อายjintana pinjaikul
 
Dibuix r vconvertitapdf
Dibuix r vconvertitapdfDibuix r vconvertitapdf
Dibuix r vconvertitapdfAS123Cg
 
в структуре общей заболеваемости детей острые респираторные заболевания
в структуре общей заболеваемости детей острые респираторные заболеванияв структуре общей заболеваемости детей острые респираторные заболевания
в структуре общей заболеваемости детей острые респираторные заболеванияedjeshka
 
Controllo apertura cancello GSM
Controllo apertura cancello GSMControllo apertura cancello GSM
Controllo apertura cancello GSMDavide Mercanti
 
Karlavargas pdf
Karlavargas pdfKarlavargas pdf
Karlavargas pdfAS123Cg
 
จินตนา ปินใจกุล
จินตนา  ปินใจกุลจินตนา  ปินใจกุล
จินตนา ปินใจกุลjintana pinjaikul
 

En vedette (20)

Slideshare Practice
Slideshare Practice Slideshare Practice
Slideshare Practice
 
Fulbright Scholar Opportunities for Mason ELI Professionals
Fulbright Scholar Opportunities for Mason ELI ProfessionalsFulbright Scholar Opportunities for Mason ELI Professionals
Fulbright Scholar Opportunities for Mason ELI Professionals
 
Case dia_das_maes_caixa
 Case dia_das_maes_caixa Case dia_das_maes_caixa
Case dia_das_maes_caixa
 
Obsessive compulsive disorder
Obsessive compulsive disorderObsessive compulsive disorder
Obsessive compulsive disorder
 
Optimized high-acid pasteurization
Optimized high-acid pasteurizationOptimized high-acid pasteurization
Optimized high-acid pasteurization
 
Bop 1
Bop 1Bop 1
Bop 1
 
Dibuixmohamadwarkiskariconvertita pdf
Dibuixmohamadwarkiskariconvertita pdfDibuixmohamadwarkiskariconvertita pdf
Dibuixmohamadwarkiskariconvertita pdf
 
Telecontrollo prese tramite linea telefonica DTMF
Telecontrollo prese tramite linea telefonica DTMFTelecontrollo prese tramite linea telefonica DTMF
Telecontrollo prese tramite linea telefonica DTMF
 
Sivanesan (1018)
Sivanesan (1018)Sivanesan (1018)
Sivanesan (1018)
 
วิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัย
วิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัยวิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัย
วิเคราะห์แนวทางการออกแบบเว็บไซต์ของมหาวิทยาลัย
 
Information Literacy and Higher Education
Information Literacy and Higher EducationInformation Literacy and Higher Education
Information Literacy and Higher Education
 
งานนำเสนอ อาย
งานนำเสนอ อายงานนำเสนอ อาย
งานนำเสนอ อาย
 
Presentation2
Presentation2Presentation2
Presentation2
 
Arraiá De Repente
Arraiá De Repente Arraiá De Repente
Arraiá De Repente
 
Dibuix r vconvertitapdf
Dibuix r vconvertitapdfDibuix r vconvertitapdf
Dibuix r vconvertitapdf
 
в структуре общей заболеваемости детей острые респираторные заболевания
в структуре общей заболеваемости детей острые респираторные заболеванияв структуре общей заболеваемости детей острые респираторные заболевания
в структуре общей заболеваемости детей острые респираторные заболевания
 
Controllo apertura cancello GSM
Controllo apertura cancello GSMControllo apertura cancello GSM
Controllo apertura cancello GSM
 
Karlavargas pdf
Karlavargas pdfKarlavargas pdf
Karlavargas pdf
 
Sreenath Konanki
Sreenath KonankiSreenath Konanki
Sreenath Konanki
 
จินตนา ปินใจกุล
จินตนา  ปินใจกุลจินตนา  ปินใจกุล
จินตนา ปินใจกุล
 

Similaire à AnsibleをWerckerでCIして
テストが終わると
本番環境が出来てる話

Ansible AWXを導入してみた
Ansible AWXを導入してみたAnsible AWXを導入してみた
Ansible AWXを導入してみたsugoto
 
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
 
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725Masafumi Noguchi
 
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築Masahiro Wakame
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsYoshio Terada
 
EC2の天井を超える
EC2の天井を超えるEC2の天井を超える
EC2の天井を超えるSugawara Genki
 
ドカドカDocker on aws
ドカドカDocker on awsドカドカDocker on aws
ドカドカDocker on awsYuuki Kuroda
 
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudyAzure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudyKazumi IWANAGA
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2Hiroshi Okano
 
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築MILI-LLC
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Hiroshi Okano
 
AWS VM import / export ハンズオン
AWS VM import / export ハンズオンAWS VM import / export ハンズオン
AWS VM import / export ハンズオンEmma Haruka Iwao
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようTakashi Makino
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Makoto Nishimura
 
明星和楽2015ハンズオン資料
明星和楽2015ハンズオン資料明星和楽2015ハンズオン資料
明星和楽2015ハンズオン資料takaoka susumu
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrantYu Ito
 

Similaire à AnsibleをWerckerでCIして
テストが終わると
本番環境が出来てる話 (20)

Docker inside containers
Docker inside containersDocker inside containers
Docker inside containers
 
Ansible AWXを導入してみた
Ansible AWXを導入してみたAnsible AWXを導入してみた
Ansible AWXを導入してみた
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725
 
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
EC2の天井を超える
EC2の天井を超えるEC2の天井を超える
EC2の天井を超える
 
ドカドカDocker on aws
ドカドカDocker on awsドカドカDocker on aws
ドカドカDocker on aws
 
VM 基盤運用チームの DevOps
VM 基盤運用チームの DevOpsVM 基盤運用チームの DevOps
VM 基盤運用チームの DevOps
 
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudyAzure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
 
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
 
Docker v14
Docker v14Docker v14
Docker v14
 
AWS VM import / export ハンズオン
AWS VM import / export ハンズオンAWS VM import / export ハンズオン
AWS VM import / export ハンズオン
 
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しようDockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
明星和楽2015ハンズオン資料
明星和楽2015ハンズオン資料明星和楽2015ハンズオン資料
明星和楽2015ハンズオン資料
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrant
 

AnsibleをWerckerでCIして
テストが終わると
本番環境が出来てる話