usage
手順
1.ログイン
2.Projectの作成
3.公開鍵の登録
4.ansible-playbook リポジトリの登録
5.inventoryの登録
6.environment 登録
7.task template の登録
8.実行
login
ログインはsemaphoreのinitialize時に登録したアカウントでまずログインします。
userの追加はログイン後の画面から可能です
Projectの作成
画像を参考に新規Project作成画面を開く
名前を入力し作成
Projectの詳細設定
作成したProjectをクリックしProjectの詳細に遷移しくてださい。
Projectの詳細ではProjectのactivityが表示され、使用するansible-playbookの設定、inventoryの設定などが可能です。
ここを正しく設定しないとansibleが正常に動作しません
公開鍵の登録
Projectの詳細メニューからkey storeを選択
ここに登録した鍵は ssh ログインや git clone などに使われます。
- create kye を選択
- Key Name の入力
-
Key type の選択
通常ではSSH Keyを選択します。awsなどの際はaws credentialを選択、各環境にあったものを選択してください。
Public Key の入力
Private Key の入力
以上で公開鍵の登録は完了です。
playbookリポジトリの登録
Projectの詳細メニューからPlaybook Repositoriesを選択
ここでは作成したansible-playbookのリポジトリの登録を行います
- create epositoryを選択
- Name を入力(なんでもOKです)
- RepositoryのURLを入力
- SSH Keyを選択 > SSH Keyは事前に登録したssh keyの中から選択します
Inventoryの登録
Inventoryとは対象ホストを記述したものになります。
hostsファイルのDSL形式で記述します。
[server]
192.168.33.10
keyの部分は実行するタスクなどを定義したconfファイル(ここではplaybook.ymlとしています)のhostsという項目と一致している必要があります。
- hosts: server
become: yes
user: hogehoge
vars_files:
- vars/package.yml
roles:
- git
- common
- nginx
- php
- composer
- mysql
- redis
- rbenv
- td-agent
Projectの詳細メニューから Inventoryを選択
create Inventoryを選択後
- Name を入力(なんでもOKです)
- Type を選択(ここでは事前に登録した公開鍵と紐づくのでStaticを選択します)
- SSH Key を選択
これで使用するInventoryは登録完了です。
Inventoryに関しては別途値を入力する必要があります
Inventory の値設定
Inventoryから edit inventory contentを選択
画像のようにhosts形式で入力します。
save changesを選択し完了です
environment 登録
environmentは環境ごとに使う変数の定義が可能です。
変数はjson形式で記述します。ここで定義した変数は
ansible-playbook実行時にplaybookに渡されます。
environmentは不要であれば登録しなくても問題ありません
- user変数の定義 userという変数をplaybook内で定義しているとした場合
{user: hogehoge}
- Environment Nameを入力
- Environment jsonで定義
これでenvironmentの登録完了です。
task template の登録
task templateでは実行するansible-playbookの設定をします
task templateは複数登録することができます
- Playbook Nameの入力
タスクなどを定義したconfファイルの名前を入力します
- SSH Keyの選択
登録したsshログイン時に使用するssh keyを選択
- Inventoryの選択
登録したInventoryを選択
- Playbook Repositoryの選択(複数ある場合は実行したいタスクがあるplaybookを選択してください)
登録したPlaybook Repositoryを選択
Environmentの選択(事前にenvironmentを入力していない場合は未選択でOKです)
Extra CLI Arguments(未入力でOKです)
引数として渡したい値がある場合にjson配列形式で設定してください
以上でタスクを実行する準備が整いました。
実行
登録したtask templateの横にあるrunボタンを押すと実行画面に移ります。
実行時にoverrideしたい値などがある場合runボタン押下後に表示されるwindowに
overrideしたい値をjson形式で入力し実行してください。またDebug(-vvv)にチェックを入れると ansible-playbook実行時にDebugメッセージが出力されます。
これでansible-playbookが実行されます。
エラーなどがなければ対象サーバに対してtaskが実行されます。