Ansible/Jenkinsの導入 のバックアップ(No.2) |
|
Jenkinsは、どのような方式でも導入は簡単ですが、本件では公式RPMで導入する。RPMで導入すると、Jenkinsの更新をyumコマンドで実施完了してしまえるメリットがある。
proxy=http://proxy.jomura.net:8080/ #as your own~/.bashrc
export HTTP_PROXY=http://proxy.jomura.net:8080/ #as your own
export HTTPS_PROXY=${HTTP_PROXY}yum clean all && yum -y update && reboot
cat << "_EOF_" > pb_jenkins_server.yml
# install jenkins
- hosts: jenkins_servers
become: true
become_method: su
environment: "{{ proxy_env }}"
tasks:
- name: facts check
fail:
msg: "Not compatible with [{{ ansible_os_family }}] {{ ansible_distribution }} {{ ansible_distribution_major_version }}."
when: ansible_os_family != 'RedHat' or ansible_distribution_major_version|int < 7
- name: install Java11
yum:
name: java-11-openjdk
state: latest
- name: port forward
shell: firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
register: result
changed_when: '"Warning: ALREADY_ENABLED: " not in result.stderr'
notify: reload firewalld
- name: jenkins yum repository
yum_repository:
name: jenkins
description: jenkins YUM repo
baseurl: "http://pkg.jenkins.io/redhat-stable/"
- name: jenkins.io key installed
rpm_key:
key: "http://pkg.jenkins.io/redhat-stable/jenkins.io.key"
- name: "Jenkins installed"
yum:
name: jenkins
state: latest
- name: "Jenkins service started"
service:
name: jenkins
state: started
enabled: yes
handlers:
- name: reload firewalld
service: name=firewalld state=restarted
_EOF_ansible-playbook -i inventory.yml pb_jenkins_server.yml