Commit Graph

8 Commits

Author SHA1 Message Date
Jeff McCune
de08460ef6 Add Gitlab CI jobs
Without this patch the control repository does not contain any scripts
to execute CI jobs for Puppet code deployment.  This patch addresses the
problem by adding a Gitlab CI job configuration with three jobs defined
across two stages.  The test stage executes first with a Syntax and a
Lint job executing in parallel.  If an environment branch has been
pushed, one matching `developemnt`, `testing`, `production` or starting
with the prefix `playground`, the deploy stage is executed.

The deploy stage requires a Gitlab secret environment variable,
PUPPET_TOKEN.  This environment variable is the puppet access token
configured with Code Manager.

The test stage runs the following syntax checks:

 * yaml files (*.yml, *.yaml)
 * json files (*.json)
 * bash scripts (*.sh)
 * ruby scripts (*.rb)
 * puppet manifests (*.pp)
 * erb files (*.erb)

The behavior of the checks are to check only files modified relative to
a base branch, defaulting to `production`.  This avoids running syntax
checks against files which have not been modified by the merge request.
The check uses `git diff --name-status` to identify changed files across
multiple commits in a topic branch.

The lint checks rely on bundler and the Gemfile to install numerous lint
checks.

Gem libraries are installed in a per-job location in $HOME.  This is an
intentional compromise between installing into a system GEM_PATH
element, which would create library conflicts with other jobs, and the
job workspace, which would cause gem libraries to be installed from the
network on each job invocation.
2017-06-14 16:50:17 -04:00
Nick Walker
c9931ceef7 Add ruby shebang to config_version scripts
Prior to this commit, if you used windows bash git when you clone
down the repo these files would get incorrect permissions which
make them unexecutable.

After this commit, due to some windows bash git magic I don't
understand it appears that adding the shebang to the beginning of
the file causes windows bash git to change the permissions to
so the file is executable.

This resolves https://github.com/puppetlabs/control-repo/issues/40
2016-11-22 13:20:15 -08:00
Reid Vandewiele
d340dd2288 Set the execute bit for CM config version script
The execute bit needs to be set or CM will fail.

I think this was probably just missed when the
code_manager_config_version.rb file was added.
2016-06-29 15:42:23 +01:00
Nick Walker
56d0908db2 Update config_version to read r10k_deploy.json file
Update config_version.sh to read the r10k_deploy.json file if it
exists.  If it does not exist it will fall back to the existing
logic
2015-12-18 09:24:27 -08:00
Ranjit Viswakumar
c2bd0d3ca1 Check for rugged or output UNIX epoch 2015-11-20 14:13:17 +00:00
Ranjit Viswakumar
f765903e25 Checking for git first 2015-11-20 14:13:17 +00:00
Nick Walker
869a5c3aa9 Update file permsissions to be 755 on scripts 2015-08-31 13:20:43 -07:00
Nick Walker
568978d76f pulling some stuff from npwalker/control-repo 2015-08-25 11:47:19 -07:00