Walter ファミリーの紹介 at Shibuya.go#1

182
-1

Published on

Walter ファミリーの紹介 at Shibuya.go#1

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
182
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Walter ファミリーの紹介 at Shibuya.go#1

  1. 1. walter ファミリーの紹介 walter/walter-server/walter-agent Shibuya.go#1 2016/2/16
  2. 2. 自己紹介 • 宮下 剛輔 • mizzy@github, gosukenator@twitter • フリーランスのソフトウェアエンジニア • 株式会社リクルートテクノロジーズ ATL 技術顧問 • 合同会社 Serverspec Operations 代表
  3. 3. walter とは • ビルドパイプラインツール • CI でのビルドパイプラインを実行制御 • YAMLで処理内容と実行順序を記述 • Go 言語でつくられている • オープンソース • https://github.com/walter-cd • CLI で動く
  4. 4. walter 開発メンバー • ainoya@github • takahi-i@github • mizzy@github • gerryhocks@github
  5. 5. walter のインストール $ go get github.com/walter-cd/walter # For Mac OS X $ brew tap higanworks/homebrew-walter-binary $ brew install walter または GitHub Releases からバイナリ取得 https://github.com/walter-cd/walter/releases
  6. 6. walter の実行 # pipeline.yml pipeline: - name: test command: echo Hello Walter $ walter 23:27:52 INFO Pipeline file path: "./pipeline.yml" ... <中略> 23:27:52 INFO running Walter 23:27:52 INFO Starting Walter in local mode 23:27:52 INFO Preparing to run pipeline process... 23:27:52 INFO [command] exec: test 23:27:52 INFO [test][command] exec output: Hello Walter 23:27:52 INFO Finished running pipeline process... 23:27:52 INFO Preparing to run cleanup process... 23:27:52 INFO Finished running cleanup process... 23:27:52 INFO succeded to finish Walter
  7. 7. pipeline.yml pipeline: - name: Start VM command: vagrant up --no-provision - name: Provision VM command: vagrant provision - name: Test VM command: rake serverspec cleanup: - name: Destroy VM command: vagrant destroy --force
  8. 8. Walter の主な機能 • ジョブの実行制御 • 並列処理 • 通知 • Slack, HipChat • GitHub 連携
  9. 9. 並列処理 - name: Parallel builds each OSes parallel: - call: coreos::build - call: centos65::build - call: centos70::build - call: ubuntu1404::build - call: freebsd101::build
  10. 10. 通知 messenger: type: slack channel: serverspec url: $SLACK_WEBHOOK_URL icon_url: http://example.jp/walter.png username: Walter
  11. 11. GitHub 連携 service: type: github token: $WALTER_GITHUB_TOKEN repo: walter from: walter-cd
  12. 12. その他の機能 • https://github.com/walter-cd/walter の README 参照
  13. 13. walter-server
  14. 14. walter-server • walter の Web API/UI • walter の実行結果を集約 • walter-agent が実行結果をポスト • Webhook によるジョブのエンキュー • walter-agent がジョブをデキューして実行 • Perl 製の Ukigumo Inspired
  15. 15. walter-agent
  16. 16. walter-agent • walter-server からジョブをデキューして実行 • walter-server へ結果をレポート • 結果を Slack/HipChat に通知 • GitHub の Status API を叩いて結果をポスト
  17. 17. walter-server のインストールと実行 $ go get github.com/walter-cd/walter-server $ walter-server -h Usage of walter: -db_dir string The directory of the sqlite3 db file put on. (default "/var/lib/walter") -host string The host of the application. (default "0.0.0.0:8080") $ walter-server 23:30:24 INFO walter-server is listening on 0.0.0.0:8080
  18. 18. walter-agent のインストールと実行 $ go get github.com/walter-cd/walter-agent $ walter-agent -h Usage of walter-agent: -base_url string Base URL of walter-server to access from web browsers -interval int Job polling interval by seconds (default 1) -max_workers int Maximum number of walter workers (default 5) -server string URL of walter-server (default "http://localhost:8080/") -working_dir string Working directory (default "/var/lib/walter/workspace") $ walter-agent 23:36:36 INFO walter-agent started
  19. 19. pipeline.yml pipeline: - name: test command: echo Hello Walter service: type: github token: $WALTER_GITHUB_TOKEN messenger: type: slack channel: random url: $SLACK_WEBHOOK_URL icon_url: https://example.jp/walter.png username: Walter suppress: - result
  20. 20. walter の今後 • まだまだ荒削りでやるべきことはたくさん • 結果だけじゃなく途中の状態も見たい • 秘密情報の取り扱い • 認証まわり • ジョブの中止 • プラグイン機構 • ドキュメント整備 • などなど… • できる限りシンプルに、という軸はぶらさない
  21. 21. おわりに • 興味を持たれた方はぜひ使ってみてください • 何かありましたら GitHub イシューや gosukenator@twitter, takahi_i@twittter までお気軽にご連絡を
  22. 22. 情報源 • https://github.com/walter-cd • http://atl.recruit-tech.co.jp/blog/2631/ • http://atl.recruit-tech.co.jp/blog/3723/ • https://speakerdeck.com/ainoya/ birudopaipurainturuwogodezuo-tutahua • http://www.slideshare.net/recruitcojp/walter-45806296 • http://mizzy.org/blog/2015/06/16/1/

×