この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
渡辺です。
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回覚えてしまえば応用が利いて楽ができることでしょう。