
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回覚えてしまえば応用が利いて楽ができることでしょう。












