Organizations

2 results for Ansible
  • 概要 Ansibleのplaybookに対してlintをかけたり、Serverspecとかを実行したくなったので、色々調べた結果、会社でCircleCIを使っていることがわかった。 そこでCircleCIで、インフラCIしていきたいなと思ったので、その辺のセットアップメモ。 なお、コンテナ単位で課金されるようで、1コンテナまで無料で利用できる。 個人でお遊びレベルのプロジェクトなら1コンテナで十分だと思う。 リポジトリ数には制限が無いようで、同時にテストを走らせたいような大きめのリポジトリになってきたら追加1コンテナあたり$50/monthで追加できるらしい。 まずは無料範囲で進めてみる。 CircleCIとの連携 まず、CircleCIと連携する必要があるので、CircleCIへログインする。その時にGithubと連携させればすぐにリポジトリが表示される。そのまま対象リポジトリの「set up project」を選択する。 今回やりたいのはansible-lintなので、Linux,pythonを選択して、「Start building」を実行しておく。ただし、ここでは特に実行されない。 Start buildingしないと下記のように、セットアップ待ち状態になる。 そうしたら、リポジトリの直下に下記を追加する。 config.ymlはcircleciの設定ファイル。 .ansible-lintはansible-lintの設定ファイル。 requirements.txtはインストールするpythonパッケージ。 ls -la .circleci total 24 drwxr-xr-x 5 inamuu staff 160 6 20 20:03 . drwxr-xr-x 7 inamuu staff 224 6 20 19:57 .. -rw-r--r-- 1 inamuu staff 317 6 20 14:28 .ansible-lint -rw-r--r-- 1 inamuu staff 253 6 20 20:03 config.yml -rw-r--r-- 1 inamuu staff 13 6 20 14:28 requirements.txt .
    Ansible CI Created Wed, 20 Jun 2018 12:24:32 +0000
  • 会社ではサーバーへのプロビジョニングにAnsibleを利用している。 Ansibleは久しく使っていなかったので、改めて勉強するべく手元のMacのDockerにプロビジョニングする方法を調べた。 最初、コンテナでSSH待受ができないとだめ?とか、コンテナにAnsibleをインストールしておかないとだめ?みたいに思っていたが、全くそんなことはなかった。 Ansible2.0以降ではDocker connection pluginというのが提供されており、記述を加えるだけで簡単に利用できる。 環境 docker for mac 18.03.1-ce-mac65 ansible 2.5.2 利用方法は下記の通り。 1.Ansibleのインベントリファイルにコンテナ名を記述する。 [docker_host] localhost [container] amazonlinux 2. マスターのplaybookにconnection dockerを記述する。 $ vim site.yml - hosts: amazonlinux connection: docker <-- ここの部分 roles: - nginx たったこれだけでdockerへプロビジョニングすることができる。※docker-pyも昔は必要だったようだがansible2.5の私の環境ではインストールしなくても、dockerへansibleでプロビジョニングできた。 $ ansible-playbook -i hosts site.yml -C PLAY [amzonlinux] ********************************************************************************************** TASK [Gathering Facts] ********************************************************************************************** ok: [amzonlinux] TASK [nginx : install nginx] ********************************************************************************************** ok: [amzonlinux] TASK [nginx : copy conf] ********************************************************************************************** ok: [amzonlinux] => (item={u'dest': u'.
    Ansible docker Created Mon, 28 May 2018 15:42:12 +0000