Commit Graph

11 Commits (b826d8355e51a6d44ffec48ad712092a5dce4438)

Author SHA1 Message Date
Dustin b7381b3fb1 ci: Use lockable resource to enforce serial runs
It is important that only one configuration management job run at a
time. Currently, this is enforced by having only one agent with the
*ansible* label, and that agent has only one executor. This is not an
ideal solution, because it requires maintaining a separate machine for
this purpose.

The *Lockable Resources Plugin* provides an alternate solution to this
problem. Using this plugin, jobs can acquire an exclusive lock on a
"resource" that prevents other jobs that require the same resource from
running. Any job that starts while the lock is held will wait until it
is released before executing. This will enforce the same serial
execution policy, but does not require a separate, dedicated machine.
Jobs will be able to run on any executor with the appropriate label.

Using this option, it is now possible to run configuration management
jobs on the normal agents, defining the execution environment in a
Docker image, so the *cm0.pyrocufflink.blue* agent can be
decommissioned.
2019-05-02 09:58:20 -05:00
Dustin 1d2e581a85 ci: Send emails on failed builds 2018-05-19 10:00:34 -05:00
Dustin 2274fb3202 ci: samba-dc: Remount filesystems 2018-04-16 08:35:38 -05:00
Dustin e8d670c2bf ci: samba-dc: Switch to ansiblePlaybook steps 2018-04-15 10:15:49 -05:00
Dustin be876c1053 ci: Schedule daily runs 2018-04-14 09:43:19 -05:00
Dustin a4aeda6371 ci: pyrocufflink: Add pipline for domain members
The `pyrocufflink` Jenkins pipleline applies the `pyrocufflink.yml`
playbook to ensure AD domain member configuration is correct.
2018-04-08 14:24:43 -05:00
Dustin f57588d590 ci: samba-dc: Disable check mode 2018-04-08 14:10:55 -05:00
Dustin b13164f77e ci: samba-dc: Use Kerberos authentication 2018-04-08 14:10:40 -05:00
Dustin ac215ab520 ci: samba-dc: Correct credentials sudo-pass ID 2018-04-08 12:43:33 -05:00
Dustin 38884cdb32 ci: Use dedicated slave instead of Docker
Using a dedicated slave node instead of a Docker container has a few
advantages:

* Persistent configuration is possible, without making weird assumptions
  (e.g. Jenkins UID/GID) in the Dockerfile
* Can limit concurrent deployments by controlling executor count on the
  node
2018-04-08 12:32:02 -05:00
Dustin 66339a827d ci: Add Jenkinsfile for domain controllers 2018-04-07 22:57:22 -05:00