Ansible Role持続的統合の【jenkins】

2266 ワード

Ansible Role: Jenkins CI
Jenkins CIのインストール
紹介する
Jenkinsはオープンソースプロジェクトであり、使いやすい持続的な統合システムを提供し、開発者を複雑な統合から解放し、より重要なビジネスロジックの実現に専念させる.同時にJenkinsはモニタリング統合に存在するエラーを実施し、詳細なログファイルと注意機能を提供し、グラフの形式でプロジェクト構築の傾向と安定性をイメージ的に示すことができる.
公式:https://jenkins.io/github: https://github.com/jenkinsci/jenkins
要求
このロールは、RHELおよびその派生製品でのみ実行されます.
テスト環境
ansible 2.2.1.0 os Centos 6.7 X64
ロール変数
software_files_path: "/opt/software"

jenkins_repo_url: https://pkg.jenkins.io/redhat/jenkins.repo
jenkins_repo_key_url: https://pkg.jenkins.io/redhat/jenkins.io.key
jenkins_pkg_url: https://pkg.jenkins.io/redhat

# jenkins_version: 2.46

jenkins_home: /var/lib/jenkins
jenkins_hostname: localhost
jenkins_http_port: 8080
jenkins_jar_location: "{{ software_files_path }}/jenkins-cli.jar"
jenkins_url_prefix: ""
jenkins_java_options: "-Djenkins.install.runSetupWizard=false"

jenkins_admin_username: admin
jenkins_admin_password: admin

jenkins_init_file: /etc/sysconfig/jenkins
jenkins_init_changes:
  - option: "JENKINS_ARGS"
    value: "--prefix={{ jenkins_url_prefix }}"
  - option: "JENKINS_JAVA_OPTIONS"
    value: "{{ jenkins_java_options }}"
    
jenkins_plugins_recommended:    
  - ant
  - msbuild
  - gradle
  - maven-plugin
  - nodejs
  - antisamy-markup-formatter
  - build-timeout
  - cloudbees-folder
  - credentials-binding
  - email-ext
  - git
  - subversion
  - ldap
  - mailer
  - matrix-auth
  - pam-auth
  - pipeline-stage-view
  - ssh-slaves
  - publish-over-ssh
  - windows-slaves
  - timestamper
  - workflow-aggregator
  - ws-cleanup
  
jenkins_plugins_extra: []

ansible_python_interpreter: /usr/bin/python2.6

に頼る
Java(2.53以降は1.8+)
githubアドレス
https://github.com/kuailemy123/Ansible-roles/tree/master/jenkins
Example Playbook
- hosts: node1
  roles:
    - jenkins
    
- hosts: node1
  vars:
   - jenkins_version: 2.46
   - jenkins_http_port: 8888
   - jenkins_plugins_extra:
       - display-console-output
       - ansible
  roles:
    - jenkins

使用
service jenkins Usage:/etc/init.d/jenkins {start|stop|status|try-restart|restart|force-reload|reload|probe}