werckerを使ってみた

16
wercker使ってみた 株式会社エクストーン 豊田陽一

Upload: yoichi-toyota

Post on 21-Mar-2017

570 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Werckerを使ってみた

werckerを使ってみた

株式会社エクストーン 豊田陽一

Page 2: Werckerを使ってみた

今日のおはなし

● Wercker○ 継続的インテグレーションサービス

○ Androidアプリの自動ビルド環境の例で説明します

Page 3: Werckerを使ってみた

Wercker● 継続的インテグレーション (CI) サービス

○ http://wercker.com/

Page 4: Werckerを使ってみた

Wercker (2)

Page 5: Werckerを使ってみた

特徴

● Dockerベースの実行環境

● Github, Bitbucketに対応

● 処理内容はyamlで記述○ pipeline

Page 6: Werckerを使ってみた

werckerの動作

● pipeline

Page 7: Werckerを使ってみた

box● build, deployを実行する環境

○ Docker image (v2以降)○ ビルドに必要なソフトウェアがセットアップされている

Docker imageを選ぶ■ Android SDK■ GCC■ ruby■ etc...

Page 8: Werckerを使ってみた

buildフェーズ

● やること

○ ビルド環境のセットアップ

○ コンパイル

○ テスト

○ パッケージング

○ etc...

Page 9: Werckerを使ってみた

deployフェーズ

● やること○ buildフェーズの成果物をデプロイ

■ AndroidのAPKをDeployGateへ送信

■ RailsウェブアプリケーションをHerokuへ送信

■ HTMLやJavaScriptをS3へ送信

■ etc...

Page 10: Werckerを使ってみた

deployフェーズ (2)● targetをweb設定画面で登録

○ ブランチ

○ 環境変数■ 公開鍵・秘密鍵のペアも設定可能

○ targetで指定したブランチのbuildが成功したら、deployフェーズが実行可能

Page 11: Werckerを使ってみた

step● 名前の付けられた一連のコマンド群

○ https://app.wercker.com/#explore/steps/search/■ ファイルを作成する

■ ssh-keyを追加する

■ slackに通知する

■ Amazon S3にアップロードする

■ 任意のシェルスクリプトを実行する

■ etc…

○ 自分で作成することも可能

Page 12: Werckerを使ってみた

wercker.yml

phase

box

step

Page 13: Werckerを使ってみた

環境変数

● フェーズ間の受け渡し○ WERCKER_SOURCE_DIR

■ フェーズの入力となるディレクトリ● build: gitからcloneしたコード

● deploy: buildフェーズでのWERCKER_OUTPUT_DIR

○ WERCKER_OUTPUT_DIR■ フェーズの出力ディレクトリ

● build -> deployに渡す際に利用

Page 14: Werckerを使ってみた

環境変数

● 成果物○ WERCKER_REPORT_ARTICACTS_DIR

■ webからartifacts.tar.gzとして取得可能

Page 16: Werckerを使ってみた

おわりに

● CIサービスのwerckerを触ってみたよ○ yamlによる設定

■ circle-ciと似ててとっつきやすい

○ 実行環境がdocker image■ 自分であらかじめ作れるので、実行環境の構築に時間がかかることが

ない

■ 実行環境の検証が楽

○ bitbucketに対応