aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Copeland <ben.copeland@linaro.org>2019-04-01 10:35:15 +0100
committerBenjamin Copeland <ben.copeland@linaro.org>2019-04-18 14:41:05 +0100
commit9dcebbef7fe4f48ff91edcd5c413fcebc5206666 (patch)
tree48ba699d8a40c8d33aeb6dd0be4ab6e5e1a57d37
downloaddockerfiles-9dcebbef7fe4f48ff91edcd5c413fcebc5206666.tar.gz
Jenkins: Add jenkins-master image
Change-Id: I82af218413061f059271df1e8b951970ed243ee8
-rw-r--r--.gitreview4
-rw-r--r--LICENSE24
-rw-r--r--README17
-rw-r--r--jessie-amd64-jenkins-master/Dockerfile50
-rwxr-xr-xjessie-amd64-jenkins-master/build.sh9
-rw-r--r--jessie-amd64-jenkins-master/plugins.txt19
6 files changed, 123 insertions, 0 deletions
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..3846c48
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,4 @@
+[gerrit]
+host=review.trustedfirmware.org
+port=29418
+project=ci/dockerfiles
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..e6cd05b
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2019, Arm Limited. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+- Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+- Neither the name of ARM nor the names of its contributors may be used to
+ endorse or promote products derived from this software without specific prior
+ written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README b/README
new file mode 100644
index 0000000..d4e73ee
--- /dev/null
+++ b/README
@@ -0,0 +1,17 @@
+Introduction
+------------
+
+This repository contains the dockerfiles used by Linaro CI.
+
+Contributing
+------------
+
+If you want to contribute changes, you can send Gerrit merge requests at
+https://review.trustedfirmware.org/#/q/project:ci/dockerfiles
+
+License
+-------
+
+The software is provided under a BSD-3-Clause.
+Contributions to this project are accepted under the same license with developer
+sign-off as described in the Contributing Guidelines above.
diff --git a/jessie-amd64-jenkins-master/Dockerfile b/jessie-amd64-jenkins-master/Dockerfile
new file mode 100644
index 0000000..911de41
--- /dev/null
+++ b/jessie-amd64-jenkins-master/Dockerfile
@@ -0,0 +1,50 @@
+FROM jenkins/jenkins:2.164.2
+
+ENV JENKINS_JAVA_PARAMETERS="-server -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -verbose:gc -Xloggc:/var/log/jenkins/gc-%t.log -XX:NumberOfGCLogFiles=2 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=100m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true"
+ENV JAVA_OPTS="-Xms1g -Xmx4g $JENKINS_JAVA_PARAMETERS -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000"
+ENV JENKINS_OPTS="--sessionTimeout=1440 --sessionEviction=1440"
+
+# Install jenkins job builder
+# Create plugins directory, symlinked on host machine
+USER root
+RUN wget -q https://bootstrap.pypa.io/get-pip.py -O /tmp/get-pip.py \
+ && python /tmp/get-pip.py \
+ && rm -f /tmp/get-pip.py \
+ && pip install jenkins-job-builder==2.10.0 pyyaml==5.1 jinja2==2.10.1 python-jenkins==1.4.0 \
+ && mkdir -p /var/jenkins_plugins \
+ && chown jenkins:jenkins /var/jenkins_plugins \
+ && ln -s /var/jenkins_home /var/lib/jenkins \
+ && mkdir -p /usr/share/groovy/lib \
+ && wget -q https://storage.googleapis.com/git-repo-downloads/repo -O /usr/bin/repo \
+ && chmod +x /usr/bin/repo \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ansible \
+ build-essential \
+ debian-keyring \
+ devscripts \
+ dirmngr \
+ dput \
+ jq \
+ moreutils \
+ python-future \
+ python-paramiko \
+ python-requests \
+ python3-setuptools \
+ python3-wheel \
+ sshpass \
+ virtualenv \
+ && wget -q https://launchpad.net/ubuntu/+archive/primary/+files/dput_0.9.6.4ubuntu3_all.deb \
+ && dpkg -i --force-all *.deb \
+ && apt-get clean \
+ && rm -rf \
+ /var/lib/apt/lists/* \
+ *.deb
+USER jenkins
+
+# Install jenkins plugins
+COPY plugins.txt .
+RUN install-plugins.sh $(echo $(cat plugins.txt))
+
+# Forward ports to host
+EXPOSE 2222
diff --git a/jessie-amd64-jenkins-master/build.sh b/jessie-amd64-jenkins-master/build.sh
new file mode 100755
index 0000000..de9e3c7
--- /dev/null
+++ b/jessie-amd64-jenkins-master/build.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+export LANG=C
+
+image=trustedfirmware/ci-x86_64-jenkins-master-debian:lts
+docker build --pull --tag=$image .
+echo $image > .docker-tag
diff --git a/jessie-amd64-jenkins-master/plugins.txt b/jessie-amd64-jenkins-master/plugins.txt
new file mode 100644
index 0000000..df4a9d9
--- /dev/null
+++ b/jessie-amd64-jenkins-master/plugins.txt
@@ -0,0 +1,19 @@
+copyartifact:1.42
+docker-plugin:1.1.6
+docker-slaves:1.0.7
+ec2:1.42
+email-ext:2.66
+gerrit-trigger:2.29.0
+git:3.9.3
+github-oauth:0.31
+jdk-tool:1.2
+monitoring:1.76.0
+multiple-scms:0.6
+pipeline-utility-steps:2.3.0
+rebuild:1.30
+ssh-agent:1.17
+ssh-credentials:1.15
+ssh-slaves:1.29.4
+timestamper:1.9
+workflow-aggregator:2.6
+ws-cleanup:0.37