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
5cb1a4b8
Commit
5cb1a4b8
authored
Aug 18, 2015
by
Ben Patterson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor: clearer delineation across jenkins worker types.
parent
19912d40
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
91 additions
and
40 deletions
+91
-40
playbooks/edx-east/jenkins_worker.yml
+1
-0
playbooks/roles/jenkins_worker/meta/main.yml
+4
-7
playbooks/roles/jenkins_worker/tasks/main.yml
+11
-11
playbooks/roles/jenkins_worker/tasks/python.yml
+0
-9
playbooks/roles/jenkins_worker/tasks/system.yml
+3
-3
playbooks/roles/jenkins_worker/tasks/test.yml
+0
-9
playbooks/roles/jenkins_worker/tasks/test_platform_worker.yml
+10
-0
util/packer/jenkins_worker_simple.json
+61
-0
util/packer/jenkins_worker_sitespeedio.json
+1
-1
No files found.
playbooks/edx-east/jenkins_worker.yml
View file @
5cb1a4b8
...
...
@@ -9,6 +9,7 @@
vars
:
mongo_enable_journal
:
False
serial_count
:
1
platform_worker
:
True
serial
:
"
{{
serial_count
}}"
vars_files
:
-
roles/edxapp/defaults/main.yml
...
...
playbooks/roles/jenkins_worker/meta/main.yml
View file @
5cb1a4b8
---
dependencies
:
-
common
-
jscover
# dependencies for edx-app jenkins worker:
-
role
:
edxapp_common
when
:
not sitespeed_worker
when
:
platform_worker is defined
-
role
:
rbenv
rbenv_user
:
"
{{
jenkins_user
}}"
rbenv_dir
:
"
{{
jenkins_home
}}"
rbenv_ruby_version
:
"
{{
jenkins_ruby_version
}}"
jenkins_worker
:
true
when
:
not sitespeed_worker
when
:
platform_worker is defined
# dependencies for sitespeed worker
-
role
:
sitespeedio
when
:
sitespeed_worker
# dependencies for generic worker
-
role
:
jscover
when
:
not sitespeed_worker
when
:
sitespeed_worker is defined
playbooks/roles/jenkins_worker/tasks/main.yml
View file @
5cb1a4b8
---
# jenkins
#
# Provision a Jenkins instance.
#
# Parameters:
# `jenkins_user`: jenkins
# `jenkins_home`: /var/lib/jenkins
# `jenkins_user_home`: /home/jenkins
# Provision a Jenkins worker instance.
# - When sitespeed_worker is set, only apply the configuraiton necessary for running sitespeed.io
# - When platform_worker is set, the resulting instance can run edx-platform tests
# All jenkins workers
-
include
:
packer.yml
-
include
:
system.yml
-
include
:
python.yml
-
include
:
ruby.yml
when
:
not sitespeed_worker
-
include
:
java.yml
# only platform workers
-
include
:
ruby.yml
when
:
platform_worker is defined
-
include
:
python_platform_worker.yml
when
:
not sitespeed_worker
when
:
platform_worker is defined
# Run appropriate tests
-
include
:
test.yml
-
include
:
test_platform_worker.yml
when
:
not sitespeed_worker
when
:
platform_worker is defined
-
include
:
test_sitespeed_worker.yml
when
:
sitespeed_worker
when
:
sitespeed_worker
is defined
playbooks/roles/jenkins_worker/tasks/python.yml
View file @
5cb1a4b8
...
...
@@ -4,12 +4,3 @@
# script, as well as the sitespeed cookie script.
-
name
:
Install requests Python library
pip
:
name=requests state=present
# Install scripts requiring a GitHub OAuth token
-
fail
:
OAuth token not defined
when
:
github_oauth_token is not defined
-
name
:
Install Python GitHub post status script
template
:
src="github_post_status.py.j2" dest="/usr/local/bin/github_post_status.py"
owner=root group=root
mode=755
playbooks/roles/jenkins_worker/tasks/system.yml
View file @
5cb1a4b8
...
...
@@ -38,7 +38,7 @@
template
:
src=jenkins_env.j2 dest={{ jenkins_home }}/jenkins_env
owner={{ jenkins_user }} group={{ jenkins_group }} mode=0500
when
:
not sitespeed_worker
when
:
platform_worker is defined
# Need to add Github to known_hosts to avoid
# being prompted when using git through ssh
...
...
@@ -63,10 +63,10 @@
-
name
:
Create directory for pip-accel config file
file
:
path={{ jenkins_home }}/.pip-accel state=directory
owner={{ jenkins_user }} group={{ jenkins_group }} mode=0777 recurse=yes
when
:
not sitespeed_worker
when
:
platform_worker is defined
-
name
:
Create pip-accel config file
template
:
src=pip-accel.conf.j2 dest={{ jenkins_home }}/.pip-accel/pip-accel.conf
owner={{ jenkins_user }} group={{ jenkins_group }} mode=0664
when
:
not sitespeed_worker
when
:
platform_worker is defined
playbooks/roles/jenkins_worker/tasks/test.yml
View file @
5cb1a4b8
...
...
@@ -9,12 +9,3 @@
-
assert
:
that
:
-
"
'1.7.0'
in
java_version.stderr"
# The role is run with a github oauth token passed in
# as github_oauth_token var value.
# This test confirms that the key being used will work
-
name
:
ensure github token works
shell
:
"
github_post_status.py
edx
edx-platform
dddac0b5dddf00c0950daf324e603e4935994954
success
https://jenkins.testeng.edx.org/
\"
Tests
Passed
\"
\"
CI
Test
Results
\"
"
playbooks/roles/jenkins_worker/tasks/test_platform_worker.yml
View file @
5cb1a4b8
...
...
@@ -25,6 +25,16 @@
that
:
-
"
'28.0'
in
firefox_version"
# The role is run with a github oauth token passed in
# as github_oauth_token var value.
# This test confirms that the key being used will work
-
name
:
ensure github token works
shell
:
"
github_post_status.py
edx
edx-platform
dddac0b5dddf00c0950daf324e603e4935994954
success
https://jenkins.testeng.edx.org/
\"
Tests
Passed
\"
\"
CI
Test
Results
\"
"
# Verify the virtualenv tar is newly-built
-
name
:
Get info on virtualenv tar
stat
:
path={{ jenkins_home }}/edx-venv_clean.tar.gz
...
...
util/packer/jenkins_worker_simple.json
0 → 100644
View file @
5cb1a4b8
{
"variables"
:
{
"aws_access_key"
:
"{{env `AWS_ACCESS_KEY_ID`}}"
,
"aws_secret_key"
:
"{{env `AWS_SECRET_ACCESS_KEY`}}"
,
"github_oauth_token"
:
"{{env `GITHUB_TOKEN`}}"
,
"playbook_remote_dir"
:
"/tmp/packer-edx-playbooks"
,
"ami"
:
"{{env `JENKINS_WORKER_AMI`}}"
},
"builders"
:
[{
"type"
:
"amazon-ebs"
,
"access_key"
:
"{{user `aws_access_key`}}"
,
"secret_key"
:
"{{user `aws_secret_key`}}"
,
"ami_name"
:
"jenkins_worker-{{isotime | clean_ami_name}}"
,
"instance_type"
:
"m3.large"
,
"region"
:
"us-east-1"
,
"source_ami"
:
"{{user `ami`}}"
,
"ssh_username"
:
"ubuntu"
,
"ami_description"
:
"jenkins worker"
,
"iam_instance_profile"
:
"jenkins-worker"
,
"security_group_id"
:
"sg-75af5e18"
}],
"provisioners"
:
[{
"type"
:
"shell"
,
"inline"
:
[
"rm -rf {{user `playbook_remote_dir`}}"
,
"mkdir {{user `playbook_remote_dir`}}"
]
},
{
"type"
:
"file"
,
"source"
:
"../../playbooks/run_role.yml"
,
"destination"
:
"{{user `playbook_remote_dir`}}/run_role.yml"
},
{
"type"
:
"file"
,
"source"
:
"../../playbooks/roles"
,
"destination"
:
"{{user `playbook_remote_dir`}}/roles"
},
{
"type"
:
"file"
,
"source"
:
"../../playbooks/edx-east"
,
"destination"
:
"{{user `playbook_remote_dir`}}/edx-east"
},
{
"type"
:
"file"
,
"source"
:
"../../requirements.txt"
,
"destination"
:
"{{user `playbook_remote_dir`}}/requirements.txt"
},
{
"type"
:
"shell"
,
"inline"
:
[
"sudo add-apt-repository ppa:git-core/ppa -y"
]
},
{
"type"
:
"shell"
,
"inline"
:
[
"sudo apt-get update"
]
},
{
"type"
:
"shell"
,
"inline"
:
[
"sudo apt-get -y install git-core"
]
},
{
"type"
:
"shell"
,
"inline"
:
[
"cd {{user `playbook_remote_dir`}}"
,
"virtualenv packer-venv"
,
". packer-venv/bin/activate"
,
"pip install -q -r requirements.txt"
,
"echo '[jenkins_worker]' > inventory.ini"
,
"echo 'localhost' >> inventory.ini"
,
"ansible-playbook run_role.yml -i inventory.ini -c local -e role=jenkins_worker -vvvv"
]
}]
}
util/packer/jenkins_worker_sitespeedio.json
View file @
5cb1a4b8
...
...
@@ -56,6 +56,6 @@
"pip install -q -r requirements.txt"
,
"echo '[jenkins_worker]' > inventory.ini"
,
"echo 'localhost' >> inventory.ini"
,
"ansible-playbook edx-east/jenkins_worker_sitespeedio.yml -i inventory.ini -c local -
e 'github_oauth_token={{ user `github_oauth_token` }}' -
vvvv"
]
"ansible-playbook edx-east/jenkins_worker_sitespeedio.yml -i inventory.ini -c local -vvvv"
]
}]
}
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