「第59回 Ruby/Rails勉強会@関西」で「GitLabとAnsible」について発表してきた
はい、Ruby関西10周年ってことで、Ruby関西のお誕生日が判明した勉強会でした。
お仕事でgitlab構築してみました(仮)
- お仕事でgitlab構築してみたいですね(仮)
- お仕事でgitlab構築する予定はありますよ(仮)
- お仕事でgitlab構築まだ出来ていません(仮)
- お仕事でgitlab構築2月末までに作らねば(本)
はい、すみません。出来ませんでした><
お前、誰よ?
murase_syuka
- お仕事
Android of Java on Linux of Driver of C
- 出没地帯
C++ from C++テンプレート完全ガイド勉強会
Ruby from Minami.rb
Debian from 関西 Debian 勉強会
最初に
目次
- what gitlab
- what ansible
what gitlab
gitlabとは
**** githubとは GitHub(ギットハブ)は ソフトウェア開発プロジェクトのための 共有ウェブサービスであり、 Gitバージョン管理システムを使用する。 Ruby on RailsおよびErlangで記述されており、 GitHub社によって保守されている。 主な開発者は Chris Wanstrath、PJ Hyett、Tom Preston-Wernerである。 GitHub商用プランおよび オープンソースプロジェクト向けの 無料アカウントを提供している。 2009年のユーザー調査によると、 GitHubは最もポピュラーなGitホスティングサイトとなった。 by [http://ja.wikipedia.org/wiki/GitHub:title=ウィキペディア] **** なぜgitlabなのか
***** その他のgitのWebUI | | lang | framework | |-----------+------+-----------| | Gitorious | ruby | rails | | gitlab | ruby | rails | | gitblit | java | |
what ansible
chef, puppet, ansibleについて知っている人で挙手を求めると
あまり手が上がらなかったので軽く補足説明を口頭で行なったが
ここに書くには余りに空白が少ないため、以下略)
Ansibleとは
Q.なぜAnsibleなのか
A.レガシー依存の悪循環こわい
**** gitlabのインストール方法
上記ブログの最後に、「インストールに3日かかった」とあるように((いろいろ手探りされて3日でしょうから、この人がもう一回すれば半日で終わるでしょうが、まあ参考に)) とまあ、手作業でインストールは大変です **** chef + knife-solo chefはtarget環境にinstallが必要だが、 Ansibleは必要ない | | Ansible | Chef | | local work | yes | yes | | remote target | no | yes | **** yum/apt ansibleは呼び出す側でredhat系かdebian系かを切り分けてやる処理が必要だが、 chefはこの辺抽象化されているのでtargetのsystemを意識する必要は余りない。 ansibleも出来なくは無いでしょうけど現状出来ない。 #+BEGIN_SRC bash ansible-doc yum ansible-doc apt #+END_SRC
実演
ここで以下のansible-playbookを使用させてもらって
私が環境構築が失敗する様を実演する><
- 20分(くらい)で GitLab をインストールする方法Add Star
-- gitlab playbook for github
ひとまずこちらの記事で書いたようにroot権限等の問題で失敗する。
仕方なくsshでtarget systemに入って、ansibleで自動で行おうとしている作業を、手作業で行って
もう一度ansibleのplaybookを実行。
ansibleの羃等性が満たされていることをデモった。
ふたたびAnsibleとは
で、手作業でgitlabを構築でそうな事が分かった所でもう一度再確認。
Q.なぜAnsibleなのか
A.レガシー依存の悪循環こわい
レガシー依存こわい(((゚Д゚)))
という冗談はさておいて、羃等がみたされているのでansibleは動く手順書としては十分である。
動く仕様書はもちろんserver spec等なんだろうけど、勉強します><
ご清聴ありがとうございましたm(_ _)m
続きはWebで