Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions jenkins/cli.sls
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
{% from "jenkins/map.jinja" import jenkins with context %}
{% from 'jenkins/macros.jinja' import jenkins_cli with context %}

{% set timeout = 360 %}

jenkins_listening:
{% if jenkins.netcat_pkg %}
jenkins_listening-pkg:
pkg.installed:
- name: {{ jenkins.netcat_pkg }}
- require_in:
- cmd: jenkins_listening-cmd
{% endif %}

jenkins_listening-cmd:
cmd.wait:
- name: "until nc {{ jenkins.netcat_flag }} localhost {{ jenkins.jenkins_port }}; do sleep 1; done"
- name: "until nc {{ jenkins.netcat_flag }} {{ jenkins.netcat_target }} {{ jenkins.jenkins_port }}; do sleep 1; done"
- timeout: {{ jenkins.cli_timeout }}
- require:
- service: jenkins
Expand All @@ -20,9 +24,9 @@ jenkins_serving:

cmd.wait:
- name: "until (curl -I -L {{ jenkins.master_url }}/jnlpJars/jenkins-cli.jar | grep \"Content-Type: application/java-archive\"); do sleep 1; done"
- timeout: {{ timeout }}
- timeout: {{ jenkins.cli_timeout }}
- watch:
- cmd: jenkins_listening
- cmd: jenkins_listening-cmd

jenkins_cli_jar:
cmd.run:
Expand All @@ -46,7 +50,7 @@ reload_jenkins_config:
jenkins_responding:
cmd.wait:
- name: "until {{ jenkins_cli('who-am-i') }}; do sleep 1; done"
- timeout: {{ timeout }}
- timeout: {{ jenkins.cli_timeout }}
- watch:
- cmd: jenkins_cli_jar
- require:
Expand Down
2 changes: 2 additions & 0 deletions jenkins/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ jenkins:
deb_apt_source: /etc/apt/sources.list.d/jenkins-ci.list
netcat_pkg: netcat-openbsd
netcat_flag: -z
netcat_target: localhost
user: jenkins
group: jenkins
extra_groups: []
nginx_user: www-data
nginx_group: www-data
home: /var/lib/jenkins
shell: /bin/bash
daemon: /usr/bin/daemon
java_args: -Djava.awt.headless=true
java_executable: /usr/bin/java
Expand Down
10 changes: 9 additions & 1 deletion jenkins/init.sls
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jenkins_user:
{% endfor %}
- system: True
- home: {{ jenkins.home }}
- shell: /bin/bash
- shell: {{ jenkins.shell }}
- require:
- group: jenkins_group

Expand All @@ -33,6 +33,14 @@ jenkins_user:
- group: jenkins_group
{% endfor %}

{% if grains['os_family'] in ['FreeBSD'] %}
jenkins-sysrc-args:
sysrc.managed:
- name: jenkins_args
# Prevent hang on service restart
- value: '> /dev/null 2>&1'
{% endif %}

jenkins:
{% if grains['os_family'] in ['RedHat', 'Debian'] %}
{% set repo_suffix = '' %}
Expand Down
6 changes: 6 additions & 0 deletions jenkins/osmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,9 @@ Debian:
RedHat:
netcat_pkg: nmap-ncat
netcat_flag: --recv-only

FreeBSD:
shell: /bin/sh
# FreeBSD comes with nc on board
netcat_pkg: False
netcat_flag: -z
1 change: 1 addition & 0 deletions pillar.example
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ jenkins:
jenkins_port: 8080
port: 80
home: /var/lib/jenkins
shell: /bin/bash
user: jenkins
group: jenkins
extra_groups:
Expand Down