Deploy jenkins using docker compose
Change-Id: I3c8e53fa8461e80a4d5a4fdf2a8f19fd2a8aec73
diff --git a/docker/client/compose/service/jenkins.yml b/docker/client/compose/service/jenkins.yml
new file mode 100644
index 0000000..7d3aec0
--- /dev/null
+++ b/docker/client/compose/service/jenkins.yml
@@ -0,0 +1,41 @@
+classes:
+ - system.docker.client.compose
+parameters:
+ _param:
+ docker_image_jenkins: tcpcloud/jenkins:2.89
+ jenkins_master_extra_opts: ""
+ jenkins_master_executors_num: 4
+ jenkins_master_max_concurent_requests: 40
+ docker:
+ client:
+ compose:
+ jenkins:
+ status: up
+ service:
+ master:
+ environment:
+ JENKINS_HOME: /var/jenkins_home
+ JAVA_OPTS: " -server -XX:+AlwaysPreTouch -Xloggc:$JENKINS_HOME/gc-%t.log -XX:NumberOfGCLogFiles=5 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=20m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -Djenkins.install.runSetupWizard=false -Dhudson.DNSMultiCast.disabled=true -Dhudson.udp=-1 -Dhudson.footerURL=https://www.mirantis.com ${_param:jenkins_master_extra_opts}"
+ JENKINS_NUM_EXECUTORS: ${_param:jenkins_master_executors_num}
+ JENKINS_OPTS: " --handlerCountMax=${_param:jenkins_master_max_concurent_requests}"
+ https_proxy: ${_param:docker_https_proxy}
+ http_proxy: ${_param:docker_http_proxy}
+ no_proxy: ${_param:docker_no_proxy}
+ image: ${_param:docker_image_jenkins}
+ restart: always
+ ports:
+ - 18081:8080
+ - 50001:50000
+ volumes:
+ - /srv/volumes/jenkins:/var/jenkins_home
+ - /etc/ssl/certs/java/cacerts:/etc/ssl/certs/java/cacerts:ro
+ linux:
+ system:
+ directory:
+ /srv/volumes/jenkins:
+ makedirs: true
+ user: 1000
+ group: 1000
+ package:
+ ca-certificates-java:
+ version: latest