Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

grifork - fast propagative task runner -

1.952 Aufrufe

Veröffentlicht am

Grifork runs defined tasks on the system in a way like tree's branching.
Give grifork a list of hosts, then it creates a tree graph internally, and runs tasks in a top-down way.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

grifork - fast propagative task runner -

  1. 1. “grifork” - fast task runner via ssh - @key_amb at the 40th Ginza.rb #ginzarb
  2. 2. Who am I ? ❏ @key_amb ❏ Software Engineer ❏ Serverside, Web ❏ https://github.com/key-amb ❏ https://rubygems.org/profiles/key-amb
  3. 3. Before “grifork” - “fireap” ❏ https://github.com/key-amb/fireap ❏ Consul クラスタ上で動作する S3 非依存の pull 型デプロイ ツール "fireap" を作った
  4. 4. “fireap” in a nutshell ❏ O(log N) … N = node number ❏ Propagative task runner on Consul Cluster
  5. 5. Then, what about “grifork” ❏ O(log N) … N = node number ❏ Propagative task runner via ssh ❏ https://github.com/key-amb/grifork ❏ Blog: ❏ ssh と rsync だけで Tree Deploy を実現する "grifork" を作った
  6. 6. How “grifork” works?
  7. 7. Concept of “Tree Deploy”
  8. 8. Two modes to run “grifork” 1. “Standalone mode” ○ Require grifork only on the task-running host 2. “Grifork mode” ○ Require grifork on every node
  9. 9. Standalone mode 1/3
  10. 10. Standalone mode 2/3
  11. 11. Standalone mode 3/3
  12. 12. Grifork mode 1/3
  13. 13. Grifork mode 2/3
  14. 14. Grifork mode 3/3
  15. 15. Quickstart % gem install grifork % edit Griforkfile % grifork
  16. 16. Configure by “Griforkfile” branches 4 #mode :standalone log file: 'grifork.log' hosts ['web1.internal', 'web2.internal', 'db1.internal', 'db2.internal', ...] local do rsync '/path/to/myapp/' end remote do rsync_remote '/path/to/myapp/' end See examples for more info
  17. 17. Changes in v0.2 ~ v0.5 ❏ Released as a RubyGems ❏ https://rubygems.org/gems/grifork ❏ Enable to configure Parallel, ssh and rsync options by Griforkfile ❏ Enable to configure tasks which runs at first in the job or at last
  18. 18. Summary ❏ “grifork” is an easy way to speed up deployment ❏ Enjoy!
  19. 19. Thank you!
  20. 20. Appendix fireap Resource: ❏ http://www.slideshare.net/YasutakeKiyoshi/fi reap-fast-task-runner-on-consul Products for O(1) deployment: ❏ https://github.com/fujiwara/stretcher ❏ https://github.com/sorah/mamiya

×