plenvのroleがないかansible-galaxyを見ていたらなかったのであげてみました
公開するほどのものでもない気もしますが何事もやってみないとねということで
どこかで誰かのお役に立てれば幸いです
ロールの作成
- ディレクトリの作成
$ ansible-galaxy init plenv - plenv was created successfully
- meta/main.ymlの修正
カテゴリとか、ライセンスとかユーザー名とかを自分に合わせて修正するみたいです
取りあえずなので下記のようにしました
- meta/main.yml
--- galaxy_info: author: swfz description: install plenv license: license (GPLv2, CC-BY, etc) min_ansible_version: 1.2 platforms: - name: EL versions: - 6 categories: - development dependencies: []
- README.md
READMEに使用例とか、変数とか使い方を書きます
- 中身
既に別のディレクトリで作成済みのファイルたちをansible-galaxy init
で作ったディレクトリにコピーしました
- push
今回は「ansible-plenv」という名前でリポジトリを作成
ansible-galaxyへ登録
- 登録
ログインして「Add Role」画面で先ほど登録したリポジトリの情報を記入します
* username: swfz
* repository: ansible-plenv
* alternate name: ansible-plenv
Add Roleボタンを押下して完了!
[f:id:swfz:20150611003433p:plain]
確認
- ansible-galaxyからDLして確認
ansible-galaxy install role名
デフォルトでconfigのroles_pathにインストールされる模様
別ユーザのホーム以下に設定していたので実行してみたら怒られました。。。
-p オプションでインストールする場所を指定できるようです
$ ansible-galaxy install swfz.plenv -p ~/roles
- 確認
$ ansible-galaxy list - swfz.plenv, master
- 実行
適当なplaybookに記述してplaybookを実行
- hosts: test sudo: yes roles: - { role: swfz.plenv, app_user: 'vagrant', plenv_local_version: '5.20.2' }
$ ansible-playbook -i hosts test.yml
無事plenvがインストールされました
実際にやってみて思ったけど登録も簡単だしどんどん公開していきたいですね