jenkins
ANSIBLE РОЛЬ: JENKINS CI
Ansible роль для установки Jenkins CI на различных платформах.
Примечание: В данный момент только Docker поддерживается этой ролью.
ТРЕБОВАНИЯ
- Docker >= 1.12.4
УСТАНОВКА
С ПОМОЩЬЮ ANSIBLE GALAXY:
ansible-galaxy install erjac77.jenkins
С ПОМОЩЬЮ GIT CLONE:
Клонируйте этот репозиторий в подкаталог roles/
вашего плейбука или в одну из дополнительных директорий, указанных в настройке roles_path
в ansible.cfg
.
git clone https://github.com/erjac77/ansible-role-jenkins.git erjac77.jenkins
ПЕРЕМЕННЫЕ РОЛИ
---
# Платформа хоста Jenkins
jenkins_platform: Docker
#jenkins_platform: "{{ ansible_os_family }}"
# Общие настройки приложения 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
# Настройки таймаута соединения с Jenkins
jenkins_connection_retries: 60
jenkins_connection_delay: 5
# Настройки учетной записи администратора Jenkins
jenkins_admin_username: jenkins
jenkins_admin_password: jenkins
jenkins_admin_fullname: Jenkins Administrator
# Пользователи Jenkins
jenkins_users:
- { username: "{{ jenkins_admin_username }}", password: "{{ jenkins_admin_password }}", fullname: "{{ jenkins_admin_fullname }}" }
# Плагины Jenkins
jenkins_plugins:
- blueocean
- git
- job-dsl
- workflow-aggregator
# Работы Jenkins
jenkins_jobs: []
ПЕРЕМЕННЫЕ DOCKER
---
# Настройки контейнера Jenkins Docker
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
ЗАВИСИМОСТИ
ПРИМЕР ПЛЕЙБУКА
---
- name: Установить Jenkins CI на 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
ЛИЦЕНЗИЯ
Apache 2.0
ИНФОРМАЦИЯ ОБ АВТОРЕ
Эрик Джейкоб (@erjac77)
Установить
ansible-galaxy install erjac77/ansible-role-jenkins
Лицензия
other
Загрузки
76
Владелец
Automate everything