walter ファミリーの紹介 at shibuya.go#1
TRANSCRIPT
![Page 1: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/1.jpg)
walter ファミリーの紹介walter/walter-server/walter-agent
Shibuya.go#12016/2/16
![Page 2: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/2.jpg)
自己紹介• 宮下 剛輔
• mizzy@github, gosukenator@twitter
• フリーランスのソフトウェアエンジニア• 株式会社リクルートテクノロジーズ ATL 技術顧問• 合同会社 Serverspec Operations 代表
![Page 3: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/3.jpg)
![Page 4: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/4.jpg)
walter とは• ビルドパイプラインツール
• CI でのビルドパイプラインを実行制御• YAMLで処理内容と実行順序を記述
• Go 言語でつくられている• オープンソース
• https://github.com/walter-cd
• CLI で動く
![Page 5: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/5.jpg)
walter 開発メンバー• ainoya@github
• takahi-i@github
• mizzy@github
• gerryhocks@github
![Page 6: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/6.jpg)
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
![Page 7: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/7.jpg)
walter の実行# pipeline.ymlpipeline: - name: test command: echo Hello Walter
$ walter23:27:52 INFO Pipeline file path: "./pipeline.yml"... <中略>
23:27:52 INFO running Walter23:27:52 INFO Starting Walter in local mode23:27:52 INFO Preparing to run pipeline process...23:27:52 INFO [command] exec: test23:27:52 INFO [test][command] exec output: Hello Walter23: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
![Page 8: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/8.jpg)
pipeline.ymlpipeline: - name: Start VM command: vagrant up --no-provision - name: Provision VM command: vagrant provision - name: Test VM command: rake serverspeccleanup: - name: Destroy VM command: vagrant destroy --force
![Page 9: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/9.jpg)
Walter の主な機能• ジョブの実行制御• 並列処理• 通知
• Slack, HipChat
• GitHub 連携
![Page 10: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/10.jpg)
並列処理- name: Parallel builds each OSes parallel: - call: coreos::build - call: centos65::build - call: centos70::build - call: ubuntu1404::build - call: freebsd101::build
![Page 11: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/11.jpg)
通知messenger: type: slack channel: serverspec url: $SLACK_WEBHOOK_URL icon_url: http://example.jp/walter.png username: Walter
![Page 12: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/12.jpg)
GitHub 連携service: type: github token: $WALTER_GITHUB_TOKEN repo: walter from: walter-cd
![Page 13: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/13.jpg)
その他の機能• https://github.com/walter-cd/walter の README 参照
![Page 14: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/14.jpg)
walter-server
![Page 15: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/15.jpg)
walter-server• walter の Web API/UI
• walter の実行結果を集約• walter-agent が実行結果をポスト
• Webhook によるジョブのエンキュー• walter-agent がジョブをデキューして実行
• Perl 製の Ukigumo Inspired
![Page 16: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/16.jpg)
![Page 17: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/17.jpg)
![Page 18: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/18.jpg)
walter-agent
![Page 19: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/19.jpg)
walter-agent• walter-server からジョブをデキューして実行• walter-server へ結果をレポート• 結果を Slack/HipChat に通知• GitHub の Status API を叩いて結果をポスト
![Page 20: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/20.jpg)
![Page 21: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/21.jpg)
![Page 22: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/22.jpg)
walter-server のインストールと実行$ go get github.com/walter-cd/walter-server
$ walter-server -hUsage 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-server23:30:24 INFO walter-server is listening on 0.0.0.0:8080
![Page 23: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/23.jpg)
walter-agent のインストールと実行$ go get github.com/walter-cd/walter-agent
$ walter-agent -hUsage 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-agent23:36:36 INFO walter-agent started
![Page 24: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/24.jpg)
![Page 25: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/25.jpg)
pipeline.ymlpipeline: - name: test command: echo Hello Walterservice: type: github token: $WALTER_GITHUB_TOKENmessenger: type: slack channel: random url: $SLACK_WEBHOOK_URL icon_url: https://example.jp/walter.png username: Walter suppress: - result
![Page 26: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/26.jpg)
walter の今後• まだまだ荒削りでやるべきことはたくさん• 結果だけじゃなく途中の状態も見たい• 秘密情報の取り扱い• 認証まわり• ジョブの中止• プラグイン機構• ドキュメント整備• などなど…
• できる限りシンプルに、という軸はぶらさない
![Page 27: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/27.jpg)
おわりに• 興味を持たれた方はぜひ使ってみてください• 何かありましたら GitHub イシューや gosukenator@twitter,
takahi_i@twittter までお気軽にご連絡を
![Page 28: Walter ファミリーの紹介 at Shibuya.go#1](https://reader031.vdocuments.mx/reader031/viewer/2022020213/587c05ac1a28ab03768b45cf/html5/thumbnails/28.jpg)
情報源• 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/