Ansibleのyum_repositoryとrpm_keyを使ったJenkinsインストール
渡辺です。
JenkinsをAmazonLinuxにインストールする場合、次のようなコマンドを実行します( 公式Wiki より)。
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins
要は、yumのリポジトリの追加と gpg鍵を登録して、yumでインストールします。
Ansibleのcommand
モジュールやshell
モジュールを利用すれば簡単に自動化できますが、冪等性を保つためにも標準モジュールを利用する方がベターです。
というわけで、yum_repository
とrpm_key
を使ってAnsibleのタスクを構成してみましょう。
なお、Javaはインストールされている前提となります。
AnsibleでJenkinsをインストールするコードスニペット
結論としては、こんな感じで。
- name: "jenkins yum repository" yum_repository: name: jenkins description: "jenkins YUM repo" baseurl: "http://pkg.jenkins-ci.org/redhat-stable/" - name: "jenkins-ci.org.key installed" rpm_key: key: "http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key" - name: "Jenkins installed" yum: name: jenkins - name: "Jenkins service started" service: name: jenkins state: started enabled: yes
yum_repositoryでリポジトリを追加する
yum_repository
モジュールは、yumリポジトリを追加/削除するコアモジュールです。
baseurl
にJennkinsのリポジトリを指定し、name
とdescription
を指定すれば、/etc/yum.repo.d/
以下にリポジトリファイルが作成されます。
- name: "jenkins yum repository" yum_repository: name: jenkins description: "jenkins YUM repo" baseurl: "http://pkg.jenkins-ci.org/redhat-stable/"
なお、デフォルトで有効化しない場合は、enabled
をnoとしてください。
rpm_keyでgpg鍵をインストールする
rpm_key
モジュールは、gpg鍵を追加/削除するコアモジュールです。
key
にgpg鍵のURLを指定してください。
- name: "jenkins-ci.org.key installed" rpm_key: key: "http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key"
まとめ
後はyum
モジュール、service
モジュールを使えば、Jenkinsのインストールと起動設定まで簡単です。
この書き方を覚えておけば、yumリポジトリ&gpg鍵追加でインストールできるタイプのパッケージは同様にインストールできるはずです。 Ansibleはパターン化しやすいので、1回覚えてしまえば応用が利いて楽ができることでしょう。