Skip to content

Commit d79601d

Browse files
author
danielprinz
committed
added Dockerfile and extended Readme with setup information
1 parent fbeebc7 commit d79601d

File tree

3 files changed

+76
-2
lines changed

3 files changed

+76
-2
lines changed

Dockerfile

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Use slim version without ui related stuff
2+
FROM gitlab/gitlab-runner:ubuntu-v10.6.0
3+
4+
# Install add-apt-repository - this is needed because gitlab-runner still uses 14.04 and we want to get the latest jdk8 version
5+
RUN apt-get update && apt-get install -y software-properties-common python-software-properties
6+
7+
# Install latest Jdk 8
8+
RUN add-apt-repository ppa:openjdk-r/ppa && \
9+
apt-get update && \
10+
apt-get install -y openjdk-8-jdk && \
11+
apt-get clean && \
12+
rm -rf /var/lib/apt/lists/* && \
13+
rm -rf /var/cache/oracle-jdk8-installer;
14+
15+
# Fix certificate issues, found as of
16+
# https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java/+bug/983302
17+
RUN apt-get update && \
18+
apt-get install -y ca-certificates-java && \
19+
apt-get clean && \
20+
update-ca-certificates -f && \
21+
rm -rf /var/lib/apt/lists/* && \
22+
rm -rf /var/cache/oracle-jdk8-installer;
23+
24+
# Setup JAVA_HOME, this is useful for docker commandline
25+
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
26+
RUN export JAVA_HOME
27+
28+
# Install Maven 3.5.3
29+
RUN curl --create-dirs --location --fail --show-error --silent --output /tmp/maven.tar.gz --url http://www-eu.apache.org/dist/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz \
30+
&& tar -xv -C /tmp -f /tmp/maven.tar.gz \
31+
&& mv /tmp/apache-maven-3.5.3 /opt/maven \
32+
&& rm -f /tmp/maven.tar.gz
33+
ENV M3_HOME=/opt/maven
34+
ENV PATH=${M3_HOME}/bin:${PATH}
35+
36+
# Export variables so that gitlab-runner user can use them
37+
ADD --chown=gitlab-runner:gitlab-runner data/.bash_profile /home/gitlab-runner/.bash_profile
38+
39+
# Setup Docker Client
40+
RUN curl --create-dirs --location --fail --show-error --silent --output /tmp/docker.tgz --url https://download.docker.com/linux/static/stable/x86_64/docker-17.12.0-ce.tgz \
41+
&& tar -xz -C /tmp -f /tmp/docker.tgz \
42+
&& mv /tmp/docker/docker /usr/bin \
43+
&& rm -rf /tmp/docker /tmp/docker
44+
45+
RUN curl --create-dirs --location --fail --show-error --silent --output /usr/bin/docker-compose --url https://github.com/docker/compose/releases/download/1.18.0/docker-compose-Linux-x86_64 \
46+
&& chmod +x /usr/bin/docker-compose

README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,27 @@
1-
# java-maven-gitlab-runner
2-
Gitlab CI Runner Docker image with java & maven installed
1+
# :palm_tree: java-maven-gitlab-runner
2+
3+
Uses Gitlab CI Runner from https://gitlab.com/gitlab-org/gitlab-runner/blob/master/dockerfiles/ubuntu/Dockerfile and
4+
extend it with installed:
5+
* Java 8
6+
* Maven 3
7+
* Docker Client
8+
9+
# :wrench: Setup
10+
## Build
11+
`docker build -t danielprinz.github.io/java-maven-gitlab-runner .`
12+
13+
## Run
14+
```
15+
docker run -d --name my-gitlab-runner --restart always \
16+
-v /srv/my-gitlab-runner/config:/etc/gitlab-runner \
17+
-v /var/run/docker.sock:/var/run/docker.sock \
18+
danielprinz.github.io/java-maven-gitlab-runner:latest
19+
```
20+
21+
Note: `/srv/my-gitlab-runner/config/config.toml` file contains all gitlab runner specific settings and will be created on registration.
22+
### Reference
23+
https://docs.gitlab.com/runner/install/docker.html
24+
25+
### Register Gitlab Runner
26+
This is needed for the runner to know the Gitlab instance.
27+
https://docs.gitlab.com/runner/register/index.html

data/.bash_profile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export MAVEN_OPTS="-Xms1024m -Xmx4096m"
2+
export M3_HOME=/opt/maven
3+
export PATH=$M3_HOME/bin:$PATH

0 commit comments

Comments
 (0)