
Ansibleのyum_repositoryとrpm_keyを使ったJenkinsインストール
この記事は公開されてから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回覚えてしまえば応用が利いて楽ができることでしょう。








