Skip to content

Commit 87bf5a6

Browse files
authored
docker: add openssl 1.0.2 and zlib (#1052)
* docker: add openssl 1.0.2 and zlib * docker: upgrade joyent docker host * docker: shared ccache, fix alpine 3.7, add early ubuntu 18.04 * docker: upgrade to openssl 1.0.2n * docker: separate ccache temp dir per container * docker: add openssl 1.1.1
1 parent 5365633 commit 87bf5a6

10 files changed

+112
-12
lines changed

ansible/roles/docker/tasks/main.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,22 @@
9797
with_items:
9898
- "{{ containers }}"
9999

100+
- name: create worker ccache directory
101+
file:
102+
path: "/home/{{ server_user }}/.ccache/"
103+
state: directory
104+
owner: "{{ server_user }}"
105+
group: "{{ server_user }}"
106+
mode: 0755
107+
108+
- name: generate ccache config
109+
template:
110+
src: "{{ role_path }}/templates/ccache_config.j2"
111+
dest: "/home/{{ server_user }}/.ccache/ccache.conf"
112+
owner: "{{ server_user }}"
113+
group: "{{ server_user }}"
114+
mode: "0644"
115+
100116
- name: register {{ server_user }} GID
101117
raw: "grep ^{{ server_user }} /etc/passwd | awk -F: '{print $4}'"
102118
register: server_user_gid

ansible/roles/docker/templates/alpine34.Dockerfile.j2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ RUN addgroup -g {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
4444

4545
RUN adduser -G {{ server_user }} -D -u {{ server_user_uid.stdout_lines[0] }} {{ server_user }}
4646

47-
VOLUME [ "/home/{{ server_user }}/" ]
47+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
4848

4949
USER iojs:iojs
5050

51+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
52+
5153
CMD cd /home/iojs \
5254
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
5355
&& java -Xmx{{ server_ram|default('128m') }} \

ansible/roles/docker/templates/alpine35.Dockerfile.j2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,12 @@ RUN addgroup -g {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
4545

4646
RUN adduser -G {{ server_user }} -D -u {{ server_user_uid.stdout_lines[0] }} {{ server_user }}
4747

48-
VOLUME [ "/home/{{ server_user }}/" ]
48+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
4949

5050
USER iojs:iojs
5151

52+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
53+
5254
CMD cd /home/iojs \
5355
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
5456
&& java -Xmx{{ server_ram|default('128m') }} \

ansible/roles/docker/templates/alpine36.Dockerfile.j2

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ RUN addgroup -g {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
4545

4646
RUN adduser -G {{ server_user }} -D -u {{ server_user_uid.stdout_lines[0] }} {{ server_user }}
4747

48-
VOLUME [ "/home/{{ server_user }}/" ]
48+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
4949

5050
USER iojs:iojs
51+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
5152

5253
CMD cd /home/iojs \
5354
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \

ansible/roles/docker/templates/alpine37.Dockerfile.j2

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ ENV OSVARIANT docker
1313
ENV DESTCPU x64
1414
ENV ARCH x64
1515

16-
RUN echo 'https://dl-3.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories && \
17-
echo 'https://dl-3.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories
16+
RUN apk add --no-cache --upgrade apk-tools
1817

19-
RUN apk add --no-cache \
20-
libstdc++ \
21-
&& apk add --no-cache --virtual .build-deps \
18+
RUN apk add --no-cache libstdc++
19+
20+
RUN apk add --no-cache --virtual .build-deps \
2221
shadow \
2322
binutils-gold \
2423
curl \
@@ -45,10 +44,12 @@ RUN addgroup -g {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
4544

4645
RUN adduser -G {{ server_user }} -D -u {{ server_user_uid.stdout_lines[0] }} {{ server_user }}
4746

48-
VOLUME [ "/home/{{ server_user }}/" ]
47+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
4948

5049
USER iojs:iojs
5150

51+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
52+
5253
CMD cd /home/iojs \
5354
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
5455
&& java -Xmx{{ server_ram|default('128m') }} \
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
max_size = 25G

ansible/roles/docker/templates/jenkins.service.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ WantedBy=multi-user.target
99
[Service]
1010
Type=simple
1111
User=root
12-
ExecStart=/usr/bin/docker run --rm -v /home/{{ server_user }}/{{ item.name }}/:/home/{{ server_user }} --name node-ci-{{ item.name }} node-ci:{{ item.name }}
12+
ExecStart=/usr/bin/docker run --rm -v /home/{{ server_user }}/{{ item.name }}/:/home/{{ server_user }} -v /home/{{ server_user }}/.ccache/:/home/{{ server_user }}/.ccache --name node-ci-{{ item.name }} node-ci:{{ item.name }}
1313
ExecStop=/usr/bin/docker stop -t 5 node-ci-{{ item.name }}
1414
Restart=always
1515
RestartSec=30

ansible/roles/docker/templates/ubuntu1604.Dockerfile.j2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ RUN addgroup --gid {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
2929

3030
RUN adduser --gid {{ server_user_gid.stdout_lines[0] }} --uid {{ server_user_uid.stdout_lines[0] }} --disabled-password --gecos {{ server_user }} {{ server_user }}
3131

32-
VOLUME [ "/home/{{ server_user }}/" ]
32+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
3333

3434
USER iojs:iojs
3535

36+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
37+
3638
CMD cd /home/iojs \
3739
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
3840
&& java -Xmx{{ server_ram|default('128m') }} \

ansible/roles/docker/templates/ubuntu1604_sharedlibs.Dockerfile.j2

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,16 @@ RUN addgroup --gid {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
3131

3232
RUN adduser --gid {{ server_user_gid.stdout_lines[0] }} --uid {{ server_user_uid.stdout_lines[0] }} --disabled-password --gecos {{ server_user }} {{ server_user }}
3333

34+
ENV OPENSSL102DIR /opt/openssl-1.0.2n
35+
36+
RUN mkdir -p /tmp/openssl_1.0.2n && \
37+
cd /tmp/openssl_1.0.2n && \
38+
curl -sL https://github.com/openssl/openssl/archive/OpenSSL_1_0_2n.tar.gz | tar zxv --strip=1 && \
39+
./Configure shared linux-x86_64 --prefix=$OPENSSL102DIR -fPIC && \
40+
make -j 6 && \
41+
make install && \
42+
rm -rf /tmp/openssl_1.0.2n
43+
3444
ENV OPENSSL110DIR /opt/openssl-1.1.0g
3545

3646
RUN mkdir -p /tmp/openssl_1.1.0g && \
@@ -41,6 +51,16 @@ RUN mkdir -p /tmp/openssl_1.1.0g && \
4151
make install && \
4252
rm -rf /tmp/openssl_1.1.0g
4353

54+
ENV OPENSSL111DIR /opt/openssl-1.1.1-pre1
55+
56+
RUN mkdir -p /tmp/openssl_1.1.1-pre1 && \
57+
cd /tmp/openssl_1.1.1-pre1 && \
58+
curl -sL https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-pre1.tar.gz | tar zxv --strip=1 && \
59+
./config --prefix=$OPENSSL111DIR && \
60+
make -j 6 && \
61+
make install && \
62+
rm -rf /tmp/openssl_1.1.1-pre1
63+
4464
ENV FIPS20DIR /opt/openssl-fips_2.0.16
4565

4666
RUN FIPSDIR=$FIPS20DIR mkdir -p /tmp/openssl-fips_2.0.16 && \
@@ -51,10 +71,22 @@ RUN FIPSDIR=$FIPS20DIR mkdir -p /tmp/openssl-fips_2.0.16 && \
5171
make install && \
5272
rm -rf /tmp/openssl-fips_2.0.16
5373

54-
VOLUME [ "/home/{{ server_user }}/" ]
74+
ENV ZLIB12DIR /opt/zlib_1.2.11
75+
76+
RUN mkdir -p /tmp/zlib_1.2.11 && \
77+
cd /tmp/zlib_1.2.11 && \
78+
curl -sL https://zlib.net/zlib-1.2.11.tar.gz | tar zxv --strip=1 && \
79+
./configure --prefix=$ZLIB12DIR && \
80+
make -j 6 && \
81+
make install && \
82+
rm -rf /tmp/zlib_1.2.11
83+
84+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
5585

5686
USER iojs:iojs
5787

88+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
89+
5890
CMD cd /home/iojs \
5991
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
6092
&& java -Xmx{{ server_ram|default('128m') }} \
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
FROM ubuntu:18.04
2+
3+
ENV LC_ALL C
4+
ENV USER {{ server_user }}
5+
ENV JOBS {{ server_jobs | default(ansible_processor_vcpus) }}
6+
ENV SHELL /bin/bash
7+
ENV HOME /home/{{ server_user }}
8+
ENV PATH /usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9+
ENV NODE_COMMON_PIPE /home/{{ server_user }}/test.pipe
10+
ENV NODE_TEST_DIR /home/{{ server_user }}/tmp
11+
ENV OSTYPE linux-gnu
12+
ENV OSVARIANT docker
13+
ENV DESTCPU x64
14+
ENV ARCH x64
15+
16+
RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y \
17+
ccache \
18+
g++ \
19+
gcc \
20+
git \
21+
openjdk-8-jre-headless \
22+
curl \
23+
python-pip \
24+
libfontconfig1
25+
26+
RUN pip install tap2junit
27+
28+
RUN addgroup --gid {{ server_user_gid.stdout_lines[0] }} {{ server_user }}
29+
30+
RUN adduser --gid {{ server_user_gid.stdout_lines[0] }} --uid {{ server_user_uid.stdout_lines[0] }} --disabled-password --gecos {{ server_user }} {{ server_user }}
31+
32+
VOLUME /home/{{ server_user }}/ /home/{{ server_user }}/.ccache
33+
34+
USER iojs:iojs
35+
36+
ENV CCACHE_TEMPDIR /home/iojs/.ccache/{{ item.name }}
37+
38+
CMD cd /home/iojs \
39+
&& curl https://ci.nodejs.org/jnlpJars/slave.jar -O \
40+
&& java -Xmx{{ server_ram|default('128m') }} \
41+
-jar /home/{{ server_user }}/slave.jar \
42+
-jnlpUrl {{ jenkins_url }}/computer/{{ item.name }}/slave-agent.jnlp \
43+
-secret {{ item.secret }}

0 commit comments

Comments
 (0)