Archer

11,016 views

Published on

2007-02-14(Wed). Developers Summit.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
11,016
On SlideShare
0
From Embeds
0
Number of Embeds
79
Actions
Shares
0
Downloads
0
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Archer

  1. 1. Archer Automating Application Deployment Tool Tokuhiro Matsuno@Shibuya.pm Mobile Factory, Inc. 2007-02-14(Wed) Developer’s Summit
  2. 2. 自己紹介 <ul><li>松野徳大 (id:tokuhirom) </li></ul><ul><li>http://d.hatena.ne.jp/tokuhirom/ </li></ul><ul><li>Mobile Factory, Inc.  システム開発部所属。 </li></ul><ul><li>体重 55kg 身長 159cm </li></ul><ul><li>WAF 大好き。 </li></ul><ul><ul><li>主に Sledge. </li></ul></ul><ul><li>Soozy Conference  やります </li></ul>
  3. 3. Archer のはなし。
  4. 4. Plagger インスパイヤファミリー
  5. 5. What’s Archer?
  6. 6. Automating Application Deployment Tool
  7. 7. Deploy Tool?
  8. 8. 開発したアプリケーションを サーバに配布するツール Deploy Server App App App App
  9. 9. 自社用の Deploy Tool を作ったりしていませんか? 車輪の再発明してんぢゃねーよ
  10. 10. 同じものを各社それぞれ作るのって無駄じゃないですか? 無駄むだむだむだぁああ嗚呼
  11. 11. 公開したところで対したデメリットもないです なんかある?
  12. 12. なので公開しちゃいました http://code.mfac.jp/ 使ってみてね
  13. 13. Archer の仕組み どういう動きをするか という説明をします
  14. 14. Archer フェーズ Init Process Finalize 単純だ。
  15. 15. Init Phase <ul><li>Plugin::SVN::Log </li></ul><ul><li>Plugin::SVN::Diff </li></ul><ul><li>Plugin::SVN::Update </li></ul><ul><li>Plugin::MySQLDiff::Sledge </li></ul><ul><ul><li>(staging => production) </li></ul></ul><ul><li>Plugin::Confirm </li></ul><ul><ul><li>[y/n] </li></ul></ul>初期化時にやっとくことだよ
  16. 16. Process Phase <ul><li>Plugin::Exec::Local </li></ul><ul><ul><li>rsync </li></ul></ul><ul><li>Plugin::Exec::Remote </li></ul><ul><ul><li>apache restart </li></ul></ul>メインの処理ですねぇ
  17. 17. finalize phase <ul><li>Notify::IRC </li></ul><ul><ul><li>notify to intra irc server </li></ul></ul><ul><ul><li>strong partnership between Archer and Assurer </li></ul></ul><ul><ul><ul><li>in future... </li></ul></ul></ul>終了したときにやること デプロイが終わったことを IRC でお知らせ
  18. 18. Plagger like configuration file (YAML) Plagger  っぽいぜ!
  19. 19. 設定ファイル例 (projects) <ul><li>projects: </li></ul><ul><li>Caspeee: </li></ul><ul><li>app: </li></ul><ul><li>- app1.example.com </li></ul><ul><li>- app2.example.com </li></ul><ul><li>- app3.example.com </li></ul><ul><li>- ... </li></ul><ul><li>cron: </li></ul><ul><li>- cron1.example.com </li></ul>
  20. 20. サーバーの設定の今後 <ul><li>Assurer  や Dishuber と設定共有したい </li></ul>
  21. 21. configuration file: tasks <ul><li>init: </li></ul><ul><li>- module: SVN::Log </li></ul><ul><li>- module: Confirm </li></ul><ul><li> config: </li></ul><ul><li>msg: really deploy? [y/n] </li></ul><ul><li>- module: SVN::Update </li></ul>初期化フェーズだよ
  22. 22. Configuration File: task(process phase) <ul><li>process: </li></ul><ul><li>- module: Rsync </li></ul><ul><li> name: rsync </li></ul><ul><li> config: </li></ul><ul><li>source: &quot;[% work_dir %]/[% project %]“ </li></ul><ul><li>dest: &quot;[% server %]:[% dest_dir %]“ </li></ul><ul><li>exclude: </li></ul><ul><li> - test </li></ul>処理の中心。 Rsync!
  23. 23. Usage archer.pl --para=30 Mixi –c config.yaml 使い方簡単。
  24. 24. ご清聴ありがとうございました! We’re Hiring!

×