Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
configuration
Commits
e19ac342
Commit
e19ac342
authored
Oct 10, 2017
by
Jesse Zoldak
Committed by
GitHub
Oct 10, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #4135 from edx/zoldak/jenkins-systemd
Fix jenkins common role TE-2210
parents
b6781dc2
c8d0460b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
96 additions
and
9 deletions
+96
-9
playbooks/roles/jenkins_build/defaults/main.yml
+2
-0
playbooks/roles/jenkins_build/meta/main.yml
+2
-0
playbooks/roles/jenkins_common/defaults/main.yml
+3
-3
playbooks/roles/jenkins_common/tasks/main.yml
+64
-3
playbooks/roles/jenkins_common/templates/etc/logrotate.d/jenkins_log.j2
+11
-0
playbooks/roles/jenkins_common/templates/etc/systemd/system/jenkins.service.j2
+14
-3
No files found.
playbooks/roles/jenkins_build/defaults/main.yml
View file @
e19ac342
build_jenkins_user_uid
:
1002
build_jenkins_group_gid
:
1004
build_jenkins_version
:
jenkins_1.651.3
build_jenkins_jvm_args
:
'
-Djava.awt.headless=true
-Xmx8192m'
build_jenkins_configuration_scripts
:
...
...
playbooks/roles/jenkins_build/meta/main.yml
View file @
e19ac342
...
...
@@ -3,6 +3,8 @@ dependencies:
-
common
-
role
:
jenkins_common
jenkins_common_version
:
'
{{
build_jenkins_version
}}'
jenkins_common_user_uid
:
'
{{
build_jenkins_user_uid
}}'
jenkins_common_group_gid
:
'
{{
build_jenkins_group_gid
}}'
jenkins_common_jvm_args
:
'
{{
build_jenkins_jvm_args
}}'
jenkins_common_configuration_scripts
:
'
{{
build_jenkins_configuration_scripts
}}'
jenkins_common_template_files
:
'
{{
build_jenkins_template_files
}}'
...
...
playbooks/roles/jenkins_common/defaults/main.yml
View file @
e19ac342
jenkins_common_user
:
jenkins
jenkins_common_group
:
edx
jenkins_common_group
:
jenkins
jenkins_common_home
:
/var/lib/jenkins
jenkins_common_config_path
:
/init-configs
jenkins_common_config_path
:
'
{{
jenkins_common_home
}}/init-configs'
jenkins_common_port
:
8080
jenkins_common_version
:
jenkins_1.651.3
jenkins_common_war_source
:
https://s3.amazonaws.com/edx-testeng-tools/jenkins
...
...
@@ -21,7 +21,7 @@ jenkins_common_debian_pkgs:
jenkins_common_configuration_git_url
:
https://github.com/edx/jenkins-configuration.git
jenkins_common_jenkins_configuration_branch
:
master
jenkins_common_configuration_src_path
:
src/main/groovy
jenkins_common_git_home
:
/git
jenkins_common_git_home
:
'
{{
jenkins_common_home
}}/git'
jenkins_common_configuration_scripts
:
[]
jenkins_common_non_plugin_template_files
:
...
...
playbooks/roles/jenkins_common/tasks/main.yml
View file @
e19ac342
...
...
@@ -10,19 +10,42 @@
-
install
-
install:system-requirements
-
name
:
Create jenkins group with specified gid
group
:
name
:
'
{{
jenkins_common_group
}}'
gid
:
'
{{
jenkins_common_group_gid
}}'
state
:
present
when
:
jenkins_common_group_gid is defined
tags
:
-
install
-
install:system-requirements
-
name
:
Create jenkins group
group
:
name
:
'
{{
jenkins_common_group
}}'
state
:
present
when
:
jenkins_common_group_gid is not defined or not jenkins_common_group_gid
tags
:
-
install
-
install:system-requirements
-
name
:
Create the jenkins user with specified uid and add to the group
user
:
name
:
'
{{
jenkins_common_user
}}'
append
:
yes
uid
:
'
{{
jenkins_common_user_uid
}}'
groups
:
'
{{
jenkins_common_group
}}'
when
:
jenkins_common_user_uid is defined
tags
:
-
install
-
install:system-requirements
-
name
:
Add the jenkins user
to the group
-
name
:
Create the jenkins user and add
to the group
user
:
name
:
'
{{
jenkins_common_user
}}'
append
:
yes
groups
:
'
{{
jenkins_common_group
}}'
when
:
jenkins_common_user_uid is not defined or not jenkins_common_user_uid
tags
:
-
install
-
install:system-requirements
...
...
@@ -32,6 +55,7 @@
path
:
'
{{
item
}}'
state
:
directory
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
with_items
:
-
/usr/share/jenkins
-
'
{{
jenkins_common_home
}}/init.groovy.d'
...
...
@@ -39,6 +63,8 @@
-
'
{{
jenkins_common_home
}}/utils'
-
'
{{
jenkins_common_home
}}/plugins'
-
'
{{
jenkins_common_git_home
}}'
-
/var/log/jenkins
-
/var/cache/jenkins
tags
:
-
install
-
install:base
...
...
@@ -47,6 +73,8 @@
get_url
:
url
:
'
{{
jenkins_common_war_source
}}/{{
jenkins_common_version
}}.war'
dest
:
/usr/share/jenkins/jenkins.war
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
force
:
yes
tags
:
-
install
...
...
@@ -60,6 +88,14 @@
-
install
-
install:system-requirements
-
name
:
Configure logrotate for jenkins application log
template
:
src
:
"
etc/logrotate.d/jenkins_log.j2"
dest
:
"
/etc/logrotate.d/jenkins"
tags
:
-
install
-
install:system-requirements
-
name
:
Add env vars
template
:
src
:
"
jenkins-env.sh.j2"
...
...
@@ -76,6 +112,8 @@
repo
:
'
{{
jenkins_common_configuration_git_url
}}'
dest
:
'
{{
jenkins_common_git_home
}}/jenkins-configuration'
version
:
'
{{
jenkins_common_jenkins_configuration_branch
}}'
become
:
true
become_user
:
'
{{
jenkins_common_user
}}'
tags
:
-
install
-
install:base
...
...
@@ -88,6 +126,8 @@
environment
:
UTILS_PATH
:
'
{{
jenkins_common_home
}}/utils'
JENKINS_VERSION
:
'
{{
jenkins_common_version
}}'
become
:
true
become_user
:
'
{{
jenkins_common_user
}}'
tags
:
-
install
-
install:base
...
...
@@ -96,6 +136,8 @@
-
name
:
Copy init scripts into init.groovy.d
command
:
'
cp
{{
jenkins_common_git_home
}}/jenkins-configuration/{{
jenkins_common_configuration_src_path
}}/{{
item
}}
{{
jenkins_common_home
}}/init.groovy.d/'
with_items
:
'
{{
jenkins_common_configuration_scripts
}}'
become
:
true
become_user
:
'
{{
jenkins_common_user
}}'
tags
:
-
install
-
install:base
...
...
@@ -106,6 +148,7 @@
path
:
'
{{
item
}}'
state
:
directory
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
with_items
:
-
'
{{
jenkins_common_config_path
}}/credentials'
-
'
{{
jenkins_common_config_path
}}/ec2'
...
...
@@ -118,6 +161,8 @@
template
:
src
:
'
{{
role_path
}}/templates/config/{{
item
}}.yml.j2'
dest
:
'
{{
jenkins_common_config_path
}}/{{
item
}}.yml'
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
with_items
:
'
{{
jenkins_common_non_plugin_template_files
}}'
tags
:
-
install
...
...
@@ -128,6 +173,8 @@
template
:
src
:
'
{{
role_path
}}/templates/config/plugins.yml.j2'
dest
:
'
{{jenkins_common_config_path
}}/plugins.yml'
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
tags
:
-
install
-
install:base
...
...
@@ -135,7 +182,11 @@
-
install:jenkins-configuration
-
name
:
Copy ec2 config files
template
:
src={{ item }} dest='{{ jenkins_common_config_path }}/ec2/'
template
:
src
:
'
{{
item
}}'
dest
:
'
{{
jenkins_common_config_path
}}/ec2/'
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
with_fileglob
:
-
'
{{
role_path
}}/files/ec2/*'
tags
:
...
...
@@ -144,7 +195,11 @@
-
install:jenkins-configuration
-
name
:
Copy xml config files
template
:
src={{ item }} dest='{{ jenkins_common_config_path }}/xml/'
template
:
src
:
'
{{
item
}}'
dest
:
'
{{
jenkins_common_config_path
}}/xml/'
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
with_fileglob
:
-
'
{{
role_path
}}/files/xml/*'
tags
:
...
...
@@ -159,6 +214,8 @@
environment
:
PLUGIN_OUTPUT_DIR
:
'
{{
jenkins_common_home
}}/plugins'
PLUGIN_CONFIG
:
'
{{
jenkins_common_config_path
}}/plugins.yml'
become
:
true
become_user
:
'
{{
jenkins_common_user
}}'
tags
:
-
install
-
install:base
...
...
@@ -180,6 +237,8 @@
copy
:
content
:
"
{{
item.content
}}"
dest
:
'
{{
jenkins_common_config_path
}}/credentials/{{
item.name
}}'
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
with_items
:
'
{{
JENKINS_CUSTOM_SSH_LIST
}}'
no_log
:
yes
tags
:
...
...
@@ -191,6 +250,8 @@
copy
:
content
:
'
{{
JENKINS_EC2_PRIVATE_KEY
}}'
dest
:
'
{{
jenkins_common_config_path
}}/ec2/id_rsa'
owner
:
'
{{
jenkins_common_user
}}'
group
:
'
{{
jenkins_common_group
}}'
no_log
:
yes
tags
:
-
install
...
...
playbooks/roles/jenkins_common/templates/etc/logrotate.d/jenkins_log.j2
0 → 100644
View file @
e19ac342
# Put in place by ansible
/var/log/jenkins/*jenkins.log {
weekly
copytruncate
missingok
rotate 52
compress
delaycompress
notifempty
}
playbooks/roles/jenkins_common/templates/etc/systemd/system/jenkins.service.j2
View file @
e19ac342
...
...
@@ -2,9 +2,20 @@
Description=Jenkins
[Service]
Environment=JENKINS_HOME={{ jenkins_common_home }}
Environment=JENKINS_CONFIG_PATH={{ jenkins_common_config_path }}
ExecStart=/usr/bin/java {{ jenkins_common_jvm_args }} -jar /usr/share/jenkins/jenkins.war --httpPort={{ jenkins_common_port }}
Type=forking
Environment="JENKINS_HOME={{ jenkins_common_home }}"
Environment="JENKINS_CONFIG_PATH={{ jenkins_common_config_path }}"
PassEnvironment=JENKINS_HOME JENKINS_CONFIG_PATH
User=jenkins
Group=jenkins
ExecStart=/usr/bin/java \
{{ jenkins_common_jvm_args }} \
-jar /usr/share/jenkins/jenkins.war \
--daemon \
--logfile=/var/log/jenkins/jenkins.log \
--webroot=/var/cache/jenkins \
--httpPort={{ jenkins_common_port }} \
--ajp13Port=-1
[Install]
WantedBy=multi-user.target
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment