erjac77.jenkins
ROZKAZ ANSIBLE: JENKINS CI
Rozkaz Ansible do instalacji Jenkins CI na różnych platformach.
Uwaga: Na chwilę obecną, Docker jest jedyną obsługiwaną platformą przez ten rozkaz.
WYMAGANIA
- Docker >= 1.12.4
INSTALACJA
Z UŻYCIEM ANSIBLE GALAXY:
ansible-galaxy install erjac77.jenkins
Z UŻYCIEM GIT CLONE:
Sklonuj to repozytorium do podkatalogu roles/
w swoim playbooku lub do jednego z dodatkowych katalogów określonych przez ustawienie roles_path
w ansible.cfg
.
git clone https://github.com/erjac77/ansible-role-jenkins.git erjac77.jenkins
ZMIENNE ROZKAZU
---
# Platforma hosta Jenkins
jenkins_platform: Docker
#jenkins_platform: "{{ ansible_os_family }}"
# Ogólne ustawienia aplikacji Gogs
jenkins_hostname: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
jenkins_port: 8080
jenkins_config_path: "{{ role_path }}/files/config.xml"
jenkins_java_opts: "-Djenkins.install.runSetupWizard=false"
jenkins_force_restart: yes
# Ustawienia limitu czasu połączenia Jenkins
jenkins_connection_retries: 60
jenkins_connection_delay: 5
# Ustawienia konta administratora Jenkins
jenkins_admin_username: jenkins
jenkins_admin_password: jenkins
jenkins_admin_fullname: Administrator Jenkins
# Użytkownicy Jenkins
jenkins_users:
- { username: "{{ jenkins_admin_username }}", password: "{{ jenkins_admin_password }}", fullname: "{{ jenkins_admin_fullname }}" }
# Wtyczki Jenkins
jenkins_plugins:
- blueocean
- git
- job-dsl
- workflow-aggregator
# Zadania Jenkins
jenkins_jobs: []
ZMIENNE DOCKERA
---
# Ustawienia kontenera Docker Jenkins
jenkins_container_name: jenkins-master
jenkins_container_image: jenkins
jenkins_container_host_port: "{{ jenkins_port }}"
jenkins_container_container_port: 8080
jenkins_container_data_volume: jenkins-data
ZALEŻNOŚCI
PRZYKŁADOWY PLAYBOOK
---
- name: Instalacja Jenkins CI na Docker
hosts: localhost
become: yes
vars:
jenkins_platform: Docker
jenkins_admin_username: erjac
jenkins_admin_password: erjac
jenkins_admin_fullname: Eric Jacob
jenkins_users:
- { username: "{{ jenkins_admin_username }}", password: "{{ jenkins_admin_password }}", fullname: "{{ jenkins_admin_fullname }}" }
- { username: jodoe, password: jodoe, fullname: John Doe }
- { username: jadoe, password: jadoe, fullname: Jane Doe }
jenkins_plugins:
- blueocean
- git
- gogs-webhook
- job-dsl
- workflow-aggregator
jenkins_jobs:
- { name: my-awesome-job, config: "{{ lookup('file', 'files/jobs/test-job-config.xml') }}" }
- { name: my-cool-job, config: "{{ lookup('file', 'files/jobs/test-job-config.xml') }}" }
roles:
- erjac77.jenkins
LICENCJA
Apache 2.0
INFORMACJE O AUTORZE
Eric Jacob (@erjac77)
Zainstaluj
ansible-galaxy install erjac77.jenkins
Licencja
other
Pobrania
87
Właściciel
Automate everything