erjac77.jenkins

ANSIBLE ROLE: JENKINS CI

さまざまなプラットフォームにJenkins CIをインストールするためのAnsibleロールです。

注意: 現在、このロールはDockerのみをサポートしています。

要件

  • Docker >= 1.12.4

インストール

ANSIBLE GALAXY を使用する場合:

ansible-galaxy install erjac77.jenkins

GIT CLONE を使用する場合:

playbookroles/サブディレクトリ内、またはansible.cfgroles_path設定で指定された追加のディレクトリ内にこのリポジトリをクローンしてください。

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: DockerにJenkins CIをインストール
  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

著者情報

Eric Jacob (@erjac77)

プロジェクトについて

Install Jenkins CI on various platforms

インストール
ansible-galaxy install erjac77.jenkins
ライセンス
other
ダウンロード
87
所有者
Automate everything