Skip to content

saltstack-formulas/jenkins-formula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jenkins

Available states

Install jenkins from the source package repositories and start it up.

Add a jenkins nginx entry. It depends on the nginx formula being installed and requires manual inclusion nginx and jenkins states in your top.sls to function, in this order: jenkins, nginx, jenkins.nginx.

Install listed jenkins plugins.

Automatically create jenkins jobs and update them when they change. Allows you to specify a list of jobs that already exist on the server.

Assumes you have some way to copy your config to the server, e.g.

{% for job, path in salt['pillar.get']('jenkins:lookup:jobs:installed', {}).items() %}
jenkins-host_job_definition_{{ job }}:
  file.managed:
    - name: {{ path }}
    - source: salt://path/to/jenkins/jobs/{{ job }}.xml
    - template: jinja

{% endfor %}

Pillar customizations:

jenkins:
  lookup:
    # Base
    port: 80
    home: /usr/local/jenkins
    user: jenkins
    group: www-data
    server_name: ci.example.com
    # Nginx
    symlink_vhost: False
    nginx_user: nginx
    nginx_group: nginx
    nginx_vhost_path: /etc/nginx/sites-available
    # Plugins
    plugins:
      installed:
        - git
        - rebuild
    # Jobs
    jobs:
      installed:
        JobName: /var/lib/jenkins/jobDefs/jobFile.xml