Filippo Giunchedi has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/365416 )

Change subject: CI/integration: Create role for docker CI agent
......................................................................


CI/integration: Create role for docker CI agent

New role for a jenkins agent that executes builds within the
context of a Docker container. Dependencies are greatly simplified over
the traditional CI agent.

Bug: T150502
Change-Id: I6c6583790a981d20bdb727e3a3722a8fc419572a
---
A modules/profile/manifests/ci/docker.pp
A modules/role/manifests/ci/slave/labs/docker.pp
2 files changed, 36 insertions(+), 0 deletions(-)

Approvals:
  jenkins-bot: Verified
  Filippo Giunchedi: Looks good to me, approved



diff --git a/modules/profile/manifests/ci/docker.pp 
b/modules/profile/manifests/ci/docker.pp
new file mode 100644
index 0000000..df8782e
--- /dev/null
+++ b/modules/profile/manifests/ci/docker.pp
@@ -0,0 +1,23 @@
+# == Class profile::ci::docker
+#
+# Configures a host to be a docker-backed Jenkins agent
+#
+
+class profile::ci::docker {
+    include ::docker
+    include phabricator::arcanist
+    include ::zuul
+
+    class { 'contint::worker_localhost':
+        owner => 'jenkins-deploy',
+    }
+
+    # Ensure jenkins-deploy membership in the docker group
+    exec { 'jenkins-deploy docker membership':
+        unless  => '/usr/bin/id -Gn jenkins-deploy | /bin/grep -qw "docker"',
+        command => '/usr/sbin/usermod -aG docker jenkins-deploy',
+        require => [
+            Class['::docker'],
+        ],
+    }
+}
diff --git a/modules/role/manifests/ci/slave/labs/docker.pp 
b/modules/role/manifests/ci/slave/labs/docker.pp
new file mode 100644
index 0000000..0d59655
--- /dev/null
+++ b/modules/role/manifests/ci/slave/labs/docker.pp
@@ -0,0 +1,13 @@
+# == Class role::ci:slave::labs::docker
+#
+# Experimental Jenkins slave instance for providing Docker based CI builds.
+#
+class role::ci::slave::labs::docker {
+    requires_realm('labs')
+
+    system::role { 'role::ci::slave::labs::docker':
+        description => 'CI Jenkins slave using Docker on labs' }
+
+    include role::ci::slave::labs::common
+    include profile::ci::docker
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/365416
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6c6583790a981d20bdb727e3a3722a8fc419572a
Gerrit-PatchSet: 10
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Thcipriani <tcipri...@wikimedia.org>
Gerrit-Reviewer: Alexandros Kosiaris <akosia...@wikimedia.org>
Gerrit-Reviewer: Dduvall <dduv...@wikimedia.org>
Gerrit-Reviewer: Filippo Giunchedi <fgiunch...@wikimedia.org>
Gerrit-Reviewer: Giuseppe Lavagetto <glavage...@wikimedia.org>
Gerrit-Reviewer: Hashar <has...@free.fr>
Gerrit-Reviewer: Thcipriani <tcipri...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to