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
ce208fc6
Commit
ce208fc6
authored
Nov 13, 2013
by
Will Daly
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #440 from edx/will/jenkins-master-updates
Updates to Jenkins master
parents
059696ca
35aed245
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
32 deletions
+43
-32
playbooks/jenkins_master.yml
+2
-0
playbooks/roles/jenkins_master/defaults/main.yml
+7
-3
playbooks/roles/jenkins_master/tasks/main.yml
+34
-29
No files found.
playbooks/jenkins_master.yml
View file @
ce208fc6
...
...
@@ -6,5 +6,7 @@
hosts
:
jenkins_master
sudo
:
True
gather_facts
:
True
vars
:
COMMON_DATA_DIR
:
"
/mnt"
roles
:
-
jenkins_master
playbooks/roles/jenkins_master/defaults/main.yml
View file @
ce208fc6
...
...
@@ -4,8 +4,9 @@ jenkins_group: "edx"
jenkins_server_name
:
"
jenkins.testeng.edx.org"
jenkins_port
:
8080
jenkins_deb_url
:
"
http://pkg.jenkins-ci.org/debian/binary/jenkins_1.530_all.deb"
jenkins_deb
:
"
jenkins_1.530_all.deb"
jenkins_version
:
1.538
jenkins_deb_url
:
"
http://pkg.jenkins-ci.org/debian/binary/jenkins_{{
jenkins_version
}}_all.deb"
jenkins_deb
:
"
jenkins_{{
jenkins_version
}}_all.deb"
jenkins_plugins
:
-
{
name
:
"
build-name-setter"
,
version
:
"
1.3"
}
...
...
@@ -13,6 +14,7 @@ jenkins_plugins:
-
{
name
:
"
build-timeout"
,
version
:
"
1.11"
}
-
{
name
:
"
cobertura"
,
version
:
"
1.9.2"
}
-
{
name
:
"
copyartifact"
,
version
:
"
1.28"
}
-
{
name
:
"
copy-to-slave"
,
version
:
"
1.4.3"
}
-
{
name
:
"
credentials"
,
version
:
"
1.8.3"
}
-
{
name
:
"
dashboard-view"
,
version
:
"
2.9.1"
}
-
{
name
:
"
ec2"
,
version
:
"
1.19"
}
...
...
@@ -23,12 +25,14 @@ jenkins_plugins:
-
{
name
:
"
javadoc"
,
version
:
"
1.1"
}
-
{
name
:
"
jobConfigHistory"
,
version
:
"
2.4"
}
-
{
name
:
"
jquery"
,
version
:
"
1.7.2-1"
}
-
{
name
:
"
mailer"
,
version
:
"
1.5"
}
-
{
name
:
"
nested-view"
,
version
:
"
1.10"
}
-
{
name
:
"
next-build-number"
,
version
:
"
1.0"
}
-
{
name
:
"
notification"
,
version
:
"
1.5"
}
-
{
name
:
"
pam-auth"
,
version
:
"
1.0"
}
-
{
name
:
"
parameterized-trigger"
,
version
:
"
2.20"
}
-
{
name
:
"
postbuild-task"
,
version
:
"
1.8"
}
-
{
name
:
"
sauce-ondemand"
,
version
:
"
1.61"
}
-
{
name
:
"
s3"
,
version
:
"
0.5"
}
-
{
name
:
"
ssh-agent"
,
version
:
"
1.3"
}
-
{
name
:
"
ssh-credentials"
,
version
:
"
1.5.1"
}
...
...
@@ -55,7 +59,7 @@ jenkins_custom_plugins:
-
{
repo_name
:
"
git-plugin"
,
repo_url
:
"
https://github.com/edx/git-plugin.git"
,
package
:
"
git.hpi"
,
version
:
"
4
c2fb3517ca11b04dfc06c714530f885698fcfb7
"
}
version
:
"
4
dc0c5ce7d38855d0ab0d9cef9cd3325917d748b
"
}
jenkins_debian_pkgs
:
-
openjdk-7-jdk
...
...
playbooks/roles/jenkins_master/tasks/main.yml
View file @
ce208fc6
...
...
@@ -7,56 +7,61 @@
tags
:
-
jenkins
-
name
:
jenkins_master |
C
reate jenkins group
-
name
:
jenkins_master |
c
reate jenkins group
group
:
name={{ jenkins_group }} state=present
-
name
:
jenkins_master |
A
dd the jenkins user to the group
-
name
:
jenkins_master |
a
dd the jenkins user to the group
user
:
name={{ jenkins_user }} append=yes groups={{ jenkins_group }}
-
name
:
jenkins_master | Download Jenkins package
# Should be resolved in the next release, but until then we need to do this
# https://issues.jenkins-ci.org/browse/JENKINS-20407
-
name
:
jenkins_master | workaround for JENKINS-20407
command
:
"
mkdir
-p
/var/run/jenkins"
-
name
:
jenkins_master | download Jenkins package
get_url
:
url="{{ jenkins_deb_url }}" dest="/tmp/{{ jenkins_deb }}"
-
name
:
jenkins_master |
I
nstall Jenkins package
-
name
:
jenkins_master |
i
nstall Jenkins package
command
:
dpkg -i --force-depends "/tmp/{{ jenkins_deb }}"
-
name
:
jenkins_master |
S
top Jenkins
-
name
:
jenkins_master |
s
top Jenkins
service
:
name=jenkins state=stopped
# Move /var/lib/jenkins to Jenkins home (on the EBS)
-
name
:
jenkins_master |
M
ove /var/lib/jenkins
-
name
:
jenkins_master |
m
ove /var/lib/jenkins
command
:
mv /var/lib/jenkins {{ jenkins_home }}
creates={{ jenkins_home }}
-
name
:
jenkins_master |
S
et owner for Jenkins home
-
name
:
jenkins_master |
s
et owner for Jenkins home
file
:
path={{ jenkins_home }} recurse=yes state=directory
owner={{ jenkins_user }} group={{ jenkins_group }}
# Symlink /var/lib/jenkins to {{ COMMON_DATA_DIR }}/jenkins
# since Jenkins will expect its files to be in /var/lib/jenkins
-
name
:
jenkins_master |
S
ymlink /var/lib/jenkins
-
name
:
jenkins_master |
s
ymlink /var/lib/jenkins
file
:
src={{ jenkins_home }} dest=/var/lib/jenkins state=link
owner={{ jenkins_user }} group={{ jenkins_group }}
notify
:
-
jenkins_master | restart Jenkins
-
name
:
jenkins_master |
M
ake plugins directory
-
name
:
jenkins_master |
m
ake plugins directory
sudo_user
:
jenkins
shell
:
mkdir -p {{ jenkins_home }}/plugins
# We first download the plugins to a temp directory and include
# the version in the file name. That way, if we increment
# the version, the plugin will be updated in Jenkins
-
name
:
jenkins_master |
D
ownload Jenkins plugins
get_url
:
url=http://updates.jenkins-ci.org/download/plugins/
${item.name}/${item.version}/${item.name
}.hpi
dest=/tmp/
${item.name}_${item.version
}
-
name
:
jenkins_master |
d
ownload Jenkins plugins
get_url
:
url=http://updates.jenkins-ci.org/download/plugins/
{{ item.name }}/{{ item.version }}/{{ item.name }
}.hpi
dest=/tmp/
{{ item.name }}_{{ item.version }
}
with_items
:
"
{{
jenkins_plugins
}}"
-
name
:
jenkins_master |
I
nstall Jenkins plugins
command
:
cp /tmp/
${item.name}_${item.version} {{ jenkins_home }}/plugins/${item.name
}.hpi
-
name
:
jenkins_master |
i
nstall Jenkins plugins
command
:
cp /tmp/
{{ item.name }}_{{ item.version }} {{ jenkins_home }}/plugins/{{ item.name }
}.hpi
with_items
:
"
{{
jenkins_plugins
}}"
-
name
:
jenkins_master |
S
et Jenkins plugin permissions
file
:
path={{ jenkins_home }}/plugins/
${item.name
}.hpi
-
name
:
jenkins_master |
s
et Jenkins plugin permissions
file
:
path={{ jenkins_home }}/plugins/
{{ item.name }
}.hpi
owner={{ jenkins_user }} group={{ jenkins_group }} mode=700
with_items
:
"
{{
jenkins_plugins
}}"
notify
:
...
...
@@ -66,23 +71,23 @@
# certain issues. If these changes get merged
# upstream, we may be able to use the regular plugin install process.
# Until then, we compile and install the forks ourselves.
-
name
:
jenkins_master |
C
heckout custom plugin repo
git
:
repo=
${item.repo_url} dest=/tmp/${item.repo_name} version=${item.version
}
-
name
:
jenkins_master |
c
heckout custom plugin repo
git
:
repo=
{{ item.repo_url }} dest=/tmp/{{ item.repo_name }} version={{ item.version }
}
with_items
:
"
{{
jenkins_custom_plugins
}}"
-
name
:
jenkins_master |
C
ompile custom plugins
command
:
mvn -Dmaven.test.skip=true install chdir=/tmp/
${item.repo_name
}
-
name
:
jenkins_master |
c
ompile custom plugins
command
:
mvn -Dmaven.test.skip=true install chdir=/tmp/
{{ item.repo_name }
}
with_items
:
"
{{
jenkins_custom_plugins
}}"
-
name
:
jenkins_master |
I
nstall custom plugins
command
:
mv /tmp/
${item.repo_name}/target/${item.package
}
{{ jenkins_home }}/plugins/
${item.package
}
-
name
:
jenkins_master |
i
nstall custom plugins
command
:
mv /tmp/
{{ item.repo_name }}/target/{{ item.package }
}
{{ jenkins_home }}/plugins/
{{ item.package }
}
with_items
:
"
{{
jenkins_custom_plugins
}}"
notify
:
-
jenkins_master | restart Jenkins
-
name
:
jenkins_master |
S
et custom plugin permissions
file
:
path={{ jenkins_home }}/plugins/
${item.package
}
-
name
:
jenkins_master |
s
et custom plugin permissions
file
:
path={{ jenkins_home }}/plugins/
{{ item.package }
}
owner={{ jenkins_user }} group={{ jenkins_group }} mode=700
with_items
:
"
{{
jenkins_custom_plugins
}}"
...
...
@@ -91,12 +96,12 @@
# Jenkins will overwrite updated plugins with its built-in version
# unless we create a ".pinned" file for the plugin.
# See https://issues.jenkins-ci.org/browse/JENKINS-13129
-
name
:
jenkins_master |
C
reate plugin pin files
command
:
touch {{ jenkins_home }}/plugins/
${item
}.jpi.pinned
creates={{ jenkins_home }}/plugins/
${item
}.jpi.pinned
-
name
:
jenkins_master |
c
reate plugin pin files
command
:
touch {{ jenkins_home }}/plugins/
{{ item }
}.jpi.pinned
creates={{ jenkins_home }}/plugins/
{{ item }
}.jpi.pinned
with_items
:
"
{{
jenkins_bundled_plugins
}}"
-
name
:
jenkins_master |
S
etup nginix vhost
-
name
:
jenkins_master |
s
etup nginix vhost
template
:
src=etc/nginx/sites-available/jenkins.j2
dest=/etc/nginx/sites-available/jenkins
...
...
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