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
c9f3431d
Commit
c9f3431d
authored
Jun 23, 2014
by
Feanil Patel
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1226 from edx/feanil/generic_admin
Feanil/generic admin
parents
2bd1338a
56382a5b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
25 additions
and
212 deletions
+25
-212
playbooks/roles/jenkins_admin/defaults/main.yml
+4
-9
playbooks/roles/jenkins_admin/tasks/main.yml
+12
-24
playbooks/roles/jenkins_admin/templates/edx/var/jenkins/boto.j2
+6
-0
playbooks/roles/jenkins_admin/templates/edx/var/jenkins/jobs/build-ami/config.xml.j2
+0
-179
util/vpc-tools/abbey.py
+3
-0
No files found.
playbooks/roles/jenkins_admin/defaults/main.yml
View file @
c9f3431d
...
...
@@ -17,17 +17,13 @@
JENKINS_ADMIN_NAME
:
'
default_jenkins_name'
# A dictionary of AWS credentials to use to make
# a boto file for jenkins.
JENKINS_ADMIN_AWS_CREDENTIALS
:
!!null
# jenkins_admin also requires other variables that are not defined by default.
# JENKINS_ADMIN_S3_PROFILE: !!null
# JENKINS_ADMIN_CONFIGURATION_REPO: !!null
# JENKINS_ADMIN_CONFIGURATION_SECURE_REPO: !!null
#
# # git key to use to checkout secure repos on jenkins and in abbey
# JENKINS_ADMIN_GIT_KEY: !!null
#
# # EC2 Key to use when bringing up the abbey instance in ec2 (aws key-pair)
# JENKINS_ADMIN_EC2_KEY: !!null
jenkins_admin_role_name
:
jenkins_admin
...
...
@@ -141,4 +137,3 @@ jenkins_admin_plugins:
jenkins_admin_jobs
:
-
'
backup-jenkins'
-
'
build-ami'
playbooks/roles/jenkins_admin/tasks/main.yml
View file @
c9f3431d
...
...
@@ -21,30 +21,18 @@
#
#
-
fail
:
"
JENKINS_ADMIN_S3_PROFILE
is
not
defined."
-
fail
:
msg=
"JENKINS_ADMIN_S3_PROFILE is not defined."
when
:
JENKINS_ADMIN_S3_PROFILE is not defined
-
fail
:
"
JENKINS_ADMIN_S3_PROFILE.name
is
not
defined."
-
fail
:
msg=
"JENKINS_ADMIN_S3_PROFILE.name is not defined."
when
:
JENKINS_ADMIN_S3_PROFILE.name is not defined
-
fail
:
"
JENKINS_ADMIN_S3_PROFILE.access_key
is
not
defined."
-
fail
:
msg=
"JENKINS_ADMIN_S3_PROFILE.access_key is not defined."
when
:
JENKINS_ADMIN_S3_PROFILE.access_key is not defined
-
fail
:
"
JENKINS_ADMIN_S3_PROFILE.secret_key
is
not
defined."
-
fail
:
msg=
"JENKINS_ADMIN_S3_PROFILE.secret_key is not defined."
when
:
JENKINS_ADMIN_S3_PROFILE.secret_key is not defined
-
fail
:
"
JENKINS_ADMIN_CONFIGURATION_REPO
is
not
defined."
when
:
JENKINS_ADMIN_CONFIGURATION_REPO is not defined
-
fail
:
"
JENKINS_ADMIN_CONFIGURATION_SECURE_REPO
is
not
defined."
when
:
JENKINS_ADMIN_CONFIGURATION_SECURE_REPO is not defined
-
fail
:
"
JENKINS_ADMIN_GIT_KEY
is
not
defined."
when
:
JENKINS_ADMIN_GIT_KEY is not defined
-
fail
:
"
JENKINS_ADMIN_EC2_KEY
is
not
defined."
when
:
JENKINS_ADMIN_EC2_KEY is not defined
# 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
...
...
@@ -72,6 +60,14 @@
group={{ jenkins_group }}
mode=0644
-
name
:
configure the boto profiles for jenkins
template
:
>
src="./{{ jenkins_home }}/boto.j2"
dest="{{ jenkins_home }}/.boto"
owner="{{ jenkins_user }}"
group="{{ jenkins_group }}"
mode="0600"
-
name
:
create the ssh directory
file
:
>
path={{ jenkins_home }}/.ssh
...
...
@@ -86,14 +82,6 @@
shell
:
>
ssh-keygen -f {{ jenkins_home }}/.ssh/known_hosts -H -F github.com | grep -q found || ssh-keyscan -H github.com > {{ jenkins_home }}/.ssh/known_hosts
-
name
:
drop the secure credentials
copy
:
>
content="{{ JENKINS_ADMIN_GIT_KEY }}"
dest={{ jenkins_home }}/.ssh/id_rsa
owner={{ jenkins_user }}
group={{ jenkins_group }}
mode=0600
-
name
:
create job directory
file
:
>
path="{{ jenkins_home }}/jobs"
...
...
playbooks/roles/jenkins_admin/templates/edx/var/jenkins/boto.j2
0 → 100644
View file @
c9f3431d
{% for deployment, creds in JENKINS_ADMIN_AWS_CREDENTIALS.iteritems() %}
[profile {{deployment}}]
aws_access_key_id = {{ creds.access_id }}
aws_secret_access_key = {{ creds.secret_key }}
{% endfor %}
playbooks/roles/jenkins_admin/templates/edx/var/jenkins/jobs/build-ami/config.xml.j2
deleted
100644 → 0
View file @
2bd1338a
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<keepDependencies>
false
</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<hudson.model.StringParameterDefinition>
<name>
play
</name>
<description></description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>
deployment
</name>
<description></description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>
environment
</name>
<description></description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.TextParameterDefinition>
<name>
refs
</name>
<description></description>
<defaultValue></defaultValue>
</hudson.model.TextParameterDefinition>
<hudson.model.TextParameterDefinition>
<name>
vars
</name>
<description></description>
<defaultValue></defaultValue>
</hudson.model.TextParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>
configuration
</name>
<description>
The GITREF of configuration to use. Leave blank to default to master.
</description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>
configuration_secure
</name>
<description>
The GITREF of configuration-secure repository to use. Leave blank to default to master.
</description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>
base_ami
</name>
<description></description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.BooleanParameterDefinition>
<name>
use_blessed
</name>
<description></description>
<defaultValue>
true
</defaultValue>
</hudson.model.BooleanParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
<com.sonyericsson.rebuild.RebuildSettings
plugin=
"rebuild@1.20"
>
<autoRebuild>
false
</autoRebuild>
</com.sonyericsson.rebuild.RebuildSettings>
</properties>
<scm
class=
"org.jenkinsci.plugins.multiplescms.MultiSCM"
plugin=
"multiple-scms@0.2"
>
<scms>
<hudson.plugins.git.GitSCM
plugin=
"git@1.5.0"
>
<configVersion>
2
</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>
{{ JENKINS_ADMIN_CONFIGURATION_REPO }}
</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>
*/master
</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>
false
</disableSubmodules>
<recursiveSubmodules>
false
</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>
false
</doGenerateSubmoduleConfigurations>
<authorOrCommitter>
false
</authorOrCommitter>
<clean>
false
</clean>
<wipeOutWorkspace>
false
</wipeOutWorkspace>
<pruneBranches>
false
</pruneBranches>
<remotePoll>
false
</remotePoll>
<ignoreNotifyCommit>
false
</ignoreNotifyCommit>
<useShallowClone>
false
</useShallowClone>
<abortIfNoNewRevs>
false
</abortIfNoNewRevs>
<cutoffHours></cutoffHours>
<buildChooser
class=
"hudson.plugins.git.util.DefaultBuildChooser"
/>
<gitTool>
Default
</gitTool>
<submoduleCfg
class=
"list"
/>
<relativeTargetDir>
configuration
</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>
true
</skipTag>
<includedRegions></includedRegions>
<scmName>
configuration
</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM
plugin=
"git@1.5.0"
>
<configVersion>
2
</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>
{{ JENKINS_ADMIN_CONFIGURATION_SECURE_REPO }}
</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>
*/master
</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>
false
</disableSubmodules>
<recursiveSubmodules>
false
</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>
false
</doGenerateSubmoduleConfigurations>
<authorOrCommitter>
false
</authorOrCommitter>
<clean>
false
</clean>
<wipeOutWorkspace>
false
</wipeOutWorkspace>
<pruneBranches>
false
</pruneBranches>
<remotePoll>
false
</remotePoll>
<ignoreNotifyCommit>
false
</ignoreNotifyCommit>
<useShallowClone>
false
</useShallowClone>
<abortIfNoNewRevs>
false
</abortIfNoNewRevs>
<cutoffHours></cutoffHours>
<buildChooser
class=
"hudson.plugins.git.util.DefaultBuildChooser"
/>
<gitTool>
Default
</gitTool>
<submoduleCfg
class=
"list"
/>
<relativeTargetDir>
configuration-secure
</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>
true
</skipTag>
<includedRegions></includedRegions>
<scmName>
configuration-secure
</scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<canRoam>
true
</canRoam>
<disabled>
false
</disabled>
<blockBuildWhenDownstreamBuilding>
false
</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>
false
</blockBuildWhenUpstreamBuilding>
<authToken>
MULTIPASS
</authToken>
<triggers/>
<concurrentBuild>
true
</concurrentBuild>
<builders>
<jenkins.plugins.shiningpanda.builders.VirtualenvBuilder
plugin=
"shiningpanda@0.20"
>
<pythonName>
System-CPython-2.7
</pythonName>
<home></home>
<clear>
false
</clear>
<useDistribute>
true
</useDistribute>
<systemSitePackages>
false
</systemSitePackages>
<nature>
shell
</nature>
<command>
#!/bin/bash -x
export jenkins_admin_ec2_key="{{ JENKINS_ADMIN_EC2_KEY }}"
export jenkins_admin_configuration_secure_repo="{{ JENKINS_ADMIN_CONFIGURATION_SECURE_REPO }}"
configuration/util/jenkins/build-ami.sh
</command>
<ignoreExitCode>
false
</ignoreExitCode>
</jenkins.plugins.shiningpanda.builders.VirtualenvBuilder>
<hudson.tasks.Shell>
<command>
#!/bin/bash -x
if [[(
"
$play
"
==
""
)]]; then
echo
"
No Play Specified. Nothing to Do.
"
exit 0
fi
rm /var/tmp/$BUILD_ID-extra-vars.yml
rm /var/tmp/$BUILD_ID-refs.yml
</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
</project>
util/vpc-tools/abbey.py
View file @
c9f3431d
...
...
@@ -66,6 +66,9 @@ def parse_args():
help
=
'directory to find playbooks in'
,
default
=
'configuration/playbooks/edx-east'
,
metavar
=
"PLAYBOOKDIR"
,
required
=
False
)
parser
.
add_argement
(
'--boto-profile'
,
help
=
'The profile to use with boto.'
,
default
=
None
,
metavar
=
"PROFILE_NAME"
,
required
=
False
)
parser
.
add_argument
(
'-d'
,
'--deployment'
,
metavar
=
"DEPLOYMENT"
,
required
=
True
)
parser
.
add_argument
(
'-e'
,
'--environment'
,
metavar
=
"ENVIRONMENT"
,
...
...
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