Upload
yoichi-kikuta
View
2.956
Download
5
Embed Size (px)
DESCRIPTION
Global Windows Azure Boot Camp 2014 in Japanで発表させて頂いたWindows AzureでのDevOpsツールの紹介資料です。資料中の画面からYouTubeデモ動画にもリンクが貼っています(説明と合わせないとわかりにくいデモで申し訳ないですが)
Citation preview
Windows Azureを利用したDevOps入門
Global Windows Azure Boot Camp 2014 in Japan
2014/3/29
自己紹介
菊田洋一
Twitter:@kikutaro_
Blog:Challenge Java EE !http://kikutaro777.hatenablog.com/
(株)構造計画研究所
仕事:コンフィグレータを利用した販売管理Sys開発
自己紹介
趣味:堀北真希さん(ファンクラブ No.11)
発表経緯
_人人人人人人人人_> 割と無茶ぶり!< ̄Y^Y^ Y^Y^Y^Y ̄
発表経緯今年のはじめ、Windows Azureの無料評価版に登録
Microsoft Windows Azure MVPな方からの依頼は…断れない(>_<;
1カ月ちょっと経過
発表経緯Windows Azure 利用経験:無料期間1カ月+α
Azure Expertな方々の発表に紛れてごめんなさい・゚・(ノД`)・゚・。
本日参加されてる方々の中でAzureをまだ実際には触っていない方や、登録後にどんなことをしようか?と思っている方へ少しでも参考になれば幸いです
アジェンダ
アジェンダ
DevOps
My case
Visual Studio Visual StudioOnline
Jenkins
Chef Knife Azure
VM Depot
PowerShell
Tool
Windows Azure
DevOpsとは?
・Velocity2009でFlickr社が発表・開発(Dev)&運用(Ops)・ツール&文化
DevOpsとは?
1.Automated infrastructure2.Shared version control3.One step build and deploy4.Feature flags5.Shared metrics6.IRC and IM robots
http://www.publickey1.jp/blog/11/devops.htmlhttp://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
1.Respect2.Trust3.Healthy attitude about
failure4.Avoiding Blame
今日は主にツールの話
Infrastructure
Chef
CapistranoPuppet
Fabric
Ansible
自分達の環境では何をどう組合せるのが良いのか?実際に色々と触って試してみないとわかりにくい面も
DevOpsとは?DevOpsをキーワードとしたツールが現在では様々存在
OrchestrationDevOpsTool
TestxUnitSelenium
RSpecserverspec
Jenkins
CIBamboo
Travis CI BuildHive
drone.ioBuild
Package
Maven
NuGet
Gemsbt
rake
Gradle
My Case
My Case
ビルド職人のみがビルド可能(環境構築も)
xxx.dll
yyy.dll
zzz.dll
ライブラリの依存関係がカオス
自動テストは一切ないリグレッションは人海戦術
ライブラリアップロード
ライブラリ案内メール
モジュール公開手作業
少し前…
VM Depotとは?
Code Repository
Maven Internal Repository ビルド成果物管理
ユニットテストインテグレーションテスト
試験環境APサーバ
デプロイ
CIサーバ
GlassFish
最近
ビルド/テスト結果通知モジュールアップ結果通知
デプロイ結果通知
My Case
VM Depotとは?
ビルド/テスト結果通知モジュールアップ結果通知
デプロイ結果通知
Code Repository
Maven Internal Repository ビルド成果物管理
ユニットテストインテグレーションテスト
試験環境APサーバ
デプロイ
CIサーバ
GlassFish
最近
ビルドツールで依存関係管理
通知モジュール自動登録
自動デプロイ
My Case自動テストで負担軽減
VM Depotとは?
・環境構築が人依存のまま
○mazonといって書籍サービスと間違えちゃう上の方々もAzureなら説得して伝わるんじゃ…!
課題・ツールが浸透しない
他プロジェクトでは使われない… 手軽に触れるように
環境構築も自動化
Jenkins知らないしメリットあるの?
やってみようとしたけどExcel手順書メンテされてないじゃんー
Windows
My Case
AzureとDevOps
VM Depotとは?
×Windows Azure
Visual StudioVisual Studio
Online
Jenkins
Chef
Windows Azure
Knife Azure
VM Depot
AzureとDevOps
Windows Azure
コミット→ビルド→デプロイ
CI環境の簡単構築
Azure仮想マシンの簡単環境構築
PowerShell
CLI
Windows Azure
Windows Azure
×
× ×
×
××
VM Depotとは?
×Windows Azure
Visual StudioVisual Studio
Online
Jenkins
Chef
Windows Azure
Knife Azure
VM Depot
Windows Azure
コミット→ビルド→デプロイ
CI環境の簡単構築
Azure仮想マシンの簡単環境構築
PowerShell
CLI
Windows Azure
Windows Azure
×
× ×
×
××
AzureとDevOps
VM Depotとは? ×Windows
AzureVisual Studio
Visual StudioOnline×
Visual Studio Online・クラウドベースのALM(Application Lifecycle Management)サービス・旧 Team Foundation Service・Basic / Professional / Advanced・Basicなら5ユーザまで無料・ブラウザでの開発環境「Monaco」
VM Depotとは? ×Windows
AzureVisual Studio
Visual StudioOnline×
Visual StudioVisual Studio
OnlineWindows
Azure
チェックインコミット
デプロイ
ビルド
Webサイト
コミット→ビルド→デプロイを簡単に実現
チームプロジェクト作成~ASP.NET MVC4のテンプレート作成
Visual StudioVisual Studio
Online
チームプロジェクト作成
ASP.NET MVC4
のテンプレ作成
チェックイン
Windows AzureでWebサイト作成
Windows Azure
Visual StudioVisual Studio
Online
Webサイト作成
ビルドトリガーの設定
Windows Azure
Visual StudioVisual Studio
Online
ビルドトリガー設定
自動ビルド~自動デプロイ
Windows Azure
Visual StudioVisual Studio
Online
自動ビルドチェックイン
自動デプロイ
VM Depotとは? ×Windows
AzureVisual Studio
Visual StudioOnline×
Visual StudioVisual Studio
OnlineWindows
Azure
Monacoを利用すると
ブラウザで修正
×Windows Azure
Visual StudioVisual Studio
Online
Jenkins
Chef
Windows Azure
Knife Azure
VM Depot
Windows Azure
コミット→ビルド→デプロイ
CI環境の簡単構築
Azure仮想マシンの簡単環境構築
PowerShell
CLI
Windows Azure
Windows Azure
×
× ×
×
××
AzureとDevOps
JenkinsWindows
AzureVM Depot
VM Depotとは?・Microsoft Open Technologiesによるサービス・仮想マシンイメージのカタログ・Windows Azureから簡単に利用可能
http://vmdepot.msopentech.com/List/Index
× ×
JenkinsWindows
AzureVM Depot
Jenkins
Mantis
Redmine
Tomcat
GitLab
Node.js
Ruby Stack
Apache SoIr
WildFly
WordPress
DrupalOpenERP
Django Stack
・アプリを簡単インストールするパッケージを提供してる企業・Windows Azure向けのVMイメージを多数提供
× ×
JenkinsWindows
AzureVM Depot
・OSSの継続的インテグレーション(CI : Continuous Integration)ツール・豊富なプラグイン(600以上)・開発者は日本の方(川口耕介さん)
JavaのPaaSとしてはCloudBeesが熱そう
http://jenkins-ci.org/
× ×
VM DepotからJenkinsを含むイメージをコピー
JenkinsWindows Azure Storage
Copy
コピーしたイメージから仮想マシン作成
Windows Azure StorageVM作成
仮想マシンのサービスへアクセス
利用可能!
でも今日はAzureのイベントですから(`・ω・´)キリッ
でもそれ、Windows Azureじゃなくてもいいよね?
java –jar Jenkins.war
はい、Jenkinsサイトからwar落としてjavaコマンド実行で簡単に使えます
VM Depotとは?
×Windows Azure
Visual StudioVisual Studio
Online
Jenkins
Chef
Windows Azure
Knife Azure
VM Depot
Windows Azure
コミット→ビルド→デプロイ
CI環境の簡単構築
Azure仮想マシンの簡単環境構築
PowerShell
CLI
Windows Azure
Windows Azure
×
× ×
×
××
AzureとDevOps
VM Depotとは?Windows
AzurePowerShell×
Windows Azure PowerShell・PowerShellコマンドレットでAzureを操作・Objectやその配列をパイプ処理できる
例)VMイメージの一覧取得Get-AzureVMImage
VMイメージ名にUbuntuを含む一覧取得Get-AzureVMImage | where {$_.ImageName -like "*Ubuntu*"}
直近3日に発行されたVMイメージの一覧取得Get-AzureVMImage | where {((Get-Date) - $_.PublishedDate).Days -le 3}
VM Depotとは?Windows
Azure × CLI
Command Line Inteface・Windows/Mac/Linuxで利用可能
例)VMイメージの一覧取得azure vm image list
VMイメージ名にUbuntuを含む一覧取得azure vm image list | grep “Ubuntu”
例)VMイメージの一覧取得azure vm image list
VMイメージ名にUbuntuを含む一覧取得azure vm image list | findstr “Ubuntu”
VM Depotとは?
×Windows Azure
Visual StudioVisual Studio
Online
Jenkins
Chef
Windows Azure
Knife Azure
VM Depot
Windows Azure
コミット→ビルド→デプロイ
CI環境の簡単構築
Azure仮想マシンの簡単環境構築
PowerShell
CLI
Windows Azure
Windows Azure
×
× ×
×
××
AzureとDevOps
VM Depotとは?Windows
AzureChef Knife Azure
・Chef社(旧OpsCode社)開発のツール・マシンの構築や設定を自動化・Infrastructure as Code・日本語の本も今年何冊か出る(らしい)http://www.getchef.com/chef/
Chef Server
nodeworkstation
× ×
伊藤直也さん著入門Chef Solo - Infrastructure as Code
VM Depotとは?Windows
AzureChef Knife Azure
knife azure
・knifeのプラグイン・gem install knife-azureでインストール
× ×
VM Depotとは?Windows
AzureChef Knife Azure
knife azure
JavaのCookbook
GlassFishのCookbook
node
PowershellやCLI同様に仮想マシン構築ができる+アプリケーションインストールや環境設定まで自動化可能
例えばknife-azureでUbuntu仮想VMを構築してそのVMにJavaやGlassFishなどをインストール
× ×
Knife Azureで仮想マシン構築
knife azure
nodeにChef-Soloのインストール
knife prepare
Chef-Solo&CookbookでJavaのインストール
Java 8でましたが今回はJava 7です…
JavaのCookbook
knife solo cook
VM Depotとは?Windows
AzureChef Knife Azure
・今回はコミュニティのCookbookを利用・APサーバであるGlassFishなどもインストールできました・自前で定義を準備すればインストール&設定まで自動化
http://community.opscode.com/cookbooks/glassfishhttp://community.opscode.com/cookbooks/java
× ×
でも今日はAzureのイベントですから(`・ω・´)キリッ
でもそれ、Windows Azureじゃなくてもいいよね?
はい、Vagrantなどでローカルに仮想マシン立ててChefをお手軽に試せます
VM Depotとは?ブログにも書いてます
はじめてのWindows Azure ~Chefのプラグインknife-azureの設定~http://kikutaro777.hatenablog.com/entry/2014/01/08/235216
はじめてのWindows Azure ~knife-azureでVMの作成・削除~http://kikutaro777.hatenablog.com/entry/2014/01/09/235022
ChefのCookbookでJavaとGlassFishをインストールしてみましたhttp://kikutaro777.hatenablog.com/entry/2014/01/13/233106
はじめてのWindows Azure ~VM DepotでJenkinsサーバを簡単構築~http://kikutaro777.hatenablog.com/entry/2014/01/15/122405
Visual Studio OnlineからチェックイントリガーでWindows Azureへ自動デプロイhttp://kikutaro777.hatenablog.com/entry/2014/03/05/235323
knife-azureのインストールhttp://kikutaro777.hatenablog.com/entry/2014/03/11/222646
まずはWindows Azureの無料評価版に登録!
Windows Azureを利用したDevOps入門
ご清聴ありがとうございましたm(_ _)m
Global Windows Azure Boot Camp 2014 in Japan
2014/3/29