Linux
AWS
infrastructure
Ansible
Watcher

[ansible] ansible-galaxyにWatcherのrole公開してみた。

こちらはフロムスクラッチ Advent Calendar 2017の17日目の記事です。

はじめに(背景)

  1. linuxで特定のフォルダ配下のみでファイルシステムのなんらかの変更があった場合に通知しようと思った時に、書き記事を見つけた。
  2. 再帰的にフォルダを監視できるincronライクなコマンド
  3. 普段ansibleを使っているので、ansible-galaxyからrolesがすでにないか探した。
  4. なかったので、「もう自分で公開しましょ!」って思ったので、公開してみました!

前提

ページ 概要
ansible
ver.2.3.1
構成管理ツール
ansible-galaxy ansibleのrolesを公開するサービス
watcher incronのようなfile/dirの変更を検知してジョブを実行するツール

参考

基本的にこちらの記事の方の修正を参考にさせていただきました :bow:
http://blog.n-z.jp/blog/2017-06-03-ansible-galaxy-new-role.html

手順

1. ansibleで公開するrole用のrepoを作成する

ex.) 一般的には、「ansible-role-xxxxxx」という形が多い気がする。

githubで作成しました。

2. ansible-galaxy init <githubのrepo名>で、デフォルトのroleセットを作成する

 ~ ❯❯❯ mkdir ansible
 ~ ❯❯❯ cd ansible

 ~/ansible ❯❯❯ ansible-galaxy init ansible-role-watcher
- ansible-role-watcher was created successfully

 ~/ansible ❯❯❯ ll
total 0
drwxr-xr-x  14 kitamurajun  staff  476 12 18 14:10 ansible-role-watcher

 ~/ansible ❯❯❯ ll ansible-role-watcher
total 8
-rw-r--r--  1 kitamurajun  staff   681 12 18 13:05 README.md
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 defaults
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 files
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 handlers
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 meta
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 tasks
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 templates
drwxr-xr-x  4 kitamurajun  staff   136 12 18 13:05 tests
drwxr-xr-x  3 kitamurajun  staff   102 12 18 13:05 vars

3. 修正

  • 実際のwatcher install処理の作成
  • LICENSEの追加
  • README.mdの修正

4. githubへpush

git remote add origin git@github.com:jkkitakita/ansible-role-watcher.git
git push -u origin master
git tag v1.0.0
git push --tags

5. ansible galaxyへ公開

5.1 ansible-galaxyのページへ

5.2 右上からログインする

※ 前提として、ansible-galaxyへgithubユーザー登録が必要

5.3 再度、右上のマイアカウントのところから、MyImportsへ遷移する

5.4 「Add」を押下

5.5 「refresh」を押下

スクリーンショット 2017-12-18 14.44.02.png

5.6 対象となるrolesを有効にする

スクリーンショット 2017-12-18 14.45.14.png

※ meta/main.ymlの記載内容が間違っていたりする場合、失敗するので、その際はコンソールを確認すること

完成!

スクリーンショット 2017-12-18 14.36.36.png

https://galaxy.ansible.com/jkkitakita/watcher/

一応、ローカルでansible-galaxy installできることも確認。

 ~/d/ansible ❯❯❯ ansible-galaxy install jkkitakita.watcher

- downloading role 'watcher', owned by jkkitakita
- downloading role from https://github.com/jkkitakita/ansible-role-watcher/archive/v1.0.0.tar.gz
- extracting jkkitakita.watcher to /Users/kitamurajun/darunia-infra/ansible/roles/jkkitakita.watcher
- jkkitakita.watcher was installed successfully

さいごに

人のものをお借りしてはいますが
自分で何か作ったものを公開するのは初めてでした。
(全然品質は高くないですが。。。)
やってて、思ったのが、LICENSE周りとかちゃんと勉強して
ansibleだけではなく、OSS周りも貢献していきたいなと思いました。