Skip to content

Commit 2c3f999

Browse files
authored
Added usage of Nexus for RubyGems when running on self-hosted runners (#2225)
Signed-off-by: Roland Asmann <roland.asmann@gmail.com>
1 parent 4793708 commit 2c3f999

File tree

6 files changed

+61
-2
lines changed

6 files changed

+61
-2
lines changed

.github/workflows/image-build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ env:
2727
NEXUS_PORT: 8081
2828
NEXUS_PYPI_REPO_PATH: /repository/pypi
2929
NEXUS_REDHAT_REPO_PATH: /repository/redhat
30+
NEXUS_RUBYGEMS_REPO_PATH: /repository/rubygems
3031
NEXUS_SDKMAN_PATH: /repository/sdkman
3132
NEXUS_SERVER: 100.73.146.80
3233
NEXUS_SUSE_MICROSOFT_REPO_PATH: /repository/suse-microsoft
@@ -85,6 +86,7 @@ jobs:
8586
"OPENSUSE_REPO=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_OPENSUSE_REPO_PATH"
8687
"PIP_CONFIG=[global]\nindex-url=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_PYPI_REPO_PATH/simple\ntrusted-host=$NEXUS_SERVER"
8788
"REDHAT_REPO=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_REDHAT_REPO_PATH"
89+
"RUBYGEMS_REPO=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_RUBYGEMS_REPO_PATH"
8890
"SDKMAN_URL=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_SDKMAN_PATH/2"
8991
"SUSE_MICROSOFT_REPO=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_SUSE_MICROSOFT_REPO_PATH"
9092
"SUSE_REPO=http://$NEXUS_SERVER:$NEXUS_PORT$NEXUS_SUSE_REPO_PATH"

ci/images/Dockerfile.ruby25

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ FROM registry.suse.com/bci/ruby:2.5 AS base
44
ARG ATOM_RUBY_VERSION=3.4.5
55
ARG NPM_REPO
66
ARG PIP_CONFIG
7+
ARG RUBYGEMS_REPO
78
ARG SUSE_REPO
89

910
ENV ATOM_RUBY_HOME=/root/.rbenv/versions/$ATOM_RUBY_VERSION \
@@ -28,6 +29,11 @@ RUN set -e; \
2829
mkdir $HOME/.pip/; \
2930
printf "$PIP_CONFIG" > $HOME/.pip/pip.conf; \
3031
fi; \
32+
if [ -n "$RUBYGEMS_REPO" ]; then \
33+
gem sources --add $RUBYGEMS_REPO/; \
34+
gem sources --remove https://rubygems.org/; \
35+
gem sources -c; \
36+
fi; \
3137
if [ -n "$SUSE_REPO" ]; then \
3238
sed -i "s|https://public-dl.suse.com|$SUSE_REPO|g" /etc/zypp/repos.d/*; \
3339
zypper --no-gpg-checks refresh; \
@@ -82,7 +88,12 @@ RUN set -e; \
8288
&& java --version \
8389
&& rm -rf $HOME/.npmrc $HOME/.pip \
8490
&& zypper clean -a \
85-
&& if [ -n "$SUSE_REPO" ]; then \
91+
&& if [ -n "$RUBYGEMS_REPO" ]; then \
92+
gem sources --add https://rubygems.org/; \
93+
gem sources --remove $RUBYGEMS_REPO/; \
94+
gem sources -c; \
95+
fi; \
96+
if [ -n "$SUSE_REPO" ]; then \
8697
sed -i "s|$SUSE_REPO|https://public-dl.suse.com|g" /etc/zypp/repos.d/*; \
8798
fi
8899

ci/images/alpine/Dockerfile.ruby345

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ FROM ruby:3.4.5-alpine AS base
44
ARG ALPINE_REPO
55
ARG NPM_REPO
66
ARG PIP_CONFIG
7+
ARG RUBYGEMS_REPO
78

89
ENV PATH=${PATH}:/usr/local/bin \
910
PYTHONPATH=/opt/pypi
@@ -20,6 +21,11 @@ RUN set -e; \
2021
mkdir $HOME/.pip/; \
2122
printf "$PIP_CONFIG" > $HOME/.pip/pip.conf; \
2223
fi; \
24+
if [ -n "$RUBYGEMS_REPO" ]; then \
25+
gem sources --add $RUBYGEMS_REPO; \
26+
gem sources --remove https://rubygems.org/; \
27+
gem sources -c; \
28+
fi; \
2329
apk update \
2430
&& apk add --no-cache \
2531
bash \
@@ -49,10 +55,17 @@ RUN set -e; \
4955
&& npm -v \
5056
&& java -version \
5157
&& python3 --version \
52-
&& gem install bundler cocoapods \
58+
&& gem install \
59+
bundler \
60+
cocoapods \
5361
&& rm -rf $HOME/.npmrc $HOME/.pip /var/cache/apk/* \
5462
&& if [ -n "$ALPINE_REPO" ]; then \
5563
sed -i "s|$ALPINE_REPO|https://dl-cdn.alpinelinux.org|g" /etc/apk/repositories; \
64+
fi; \
65+
if [ -n "$RUBYGEMS_REPO" ]; then \
66+
gem sources --add https://rubygems.org/; \
67+
gem sources --remove $RUBYGEMS_REPO; \
68+
gem sources -c; \
5669
fi
5770

5871

ci/images/debian/Dockerfile.ruby26

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ARG JAVA_VERSION=21.0.8-tem
88
ARG NODE_VERSION=20.19.3
99
ARG NPM_REPO
1010
ARG PIP_CONFIG
11+
ARG RUBYGEMS_REPO
1112
ARG SDKMAN_URL=https://api.sdkman.io/2
1213

1314
ENV ATOM_RUBY_VERSION=$ATOM_RUBY_VERSION \
@@ -40,6 +41,11 @@ RUN set -e; \
4041
mkdir $HOME/.pip/; \
4142
printf "$PIP_CONFIG" > $HOME/.pip/pip.conf; \
4243
fi; \
44+
if [ -n "$RUBYGEMS_REPO" ]; then \
45+
gem sources --add $RUBYGEMS_REPO/; \
46+
gem sources --remove https://rubygems.org/; \
47+
gem sources -c; \
48+
fi; \
4349
apt-get update \
4450
&& apt-get install -qq -y --no-install-recommends \
4551
bash \
@@ -78,6 +84,11 @@ RUN set -e; \
7884
if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
7985
sed -i "s|http://deb.debian.org|$DEBIAN_REPO|g" /etc/apt/sources.list.d/debian.sources; \
8086
fi \
87+
fi; \
88+
if [ -n "$RUBYGEMS_REPO" ]; then \
89+
gem sources --add https://rubygems.org/; \
90+
gem sources --remove $RUBYGEMS_REPO/; \
91+
gem sources -c; \
8192
fi
8293

8394
CMD ["/bin/bash"]

ci/images/debian/Dockerfile.ruby33

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ARG JAVA_VERSION=21.0.8-tem
88
ARG NODE_VERSION=24.7.0
99
ARG NPM_REPO
1010
ARG PIP_CONFIG
11+
ARG RUBYGEMS_REPO
1112
ARG SDKMAN_URL=https://api.sdkman.io/2
1213

1314
ENV ATOM_CMD=/usr/local/bin/atom \
@@ -39,6 +40,11 @@ RUN set -e; \
3940
mkdir $HOME/.pip/; \
4041
printf "$PIP_CONFIG" > $HOME/.pip/pip.conf; \
4142
fi; \
43+
if [ -n "$RUBYGEMS_REPO" ]; then \
44+
gem sources --add $RUBYGEMS_REPO/; \
45+
gem sources --remove https://rubygems.org/; \
46+
gem sources -c; \
47+
fi; \
4248
apt-get update \
4349
&& apt-get install -qq -y --no-install-recommends \
4450
bash \
@@ -82,6 +88,11 @@ RUN set -e; \
8288
if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
8389
sed -i "s|http://deb.debian.org|$DEBIAN_REPO|g" /etc/apt/sources.list.d/debian.sources; \
8490
fi \
91+
fi; \
92+
if [ -n "$RUBYGEMS_REPO" ]; then \
93+
gem sources --add https://rubygems.org/; \
94+
gem sources --remove $RUBYGEMS_REPO/; \
95+
gem sources -c; \
8596
fi
8697

8798
CMD ["/bin/bash"]

ci/images/debian/Dockerfile.ruby34

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ARG JAVA_VERSION=21.0.8-tem
77
ARG NODE_VERSION=24.7.0
88
ARG NPM_REPO
99
ARG PIP_CONFIG
10+
ARG RUBYGEMS_REPO
1011
ARG SDKMAN_URL=https://api.sdkman.io/2
1112

1213
ENV ATOM_CMD=/usr/local/bin/atom \
@@ -37,6 +38,11 @@ RUN set -e; \
3738
mkdir $HOME/.pip/; \
3839
printf "$PIP_CONFIG" > $HOME/.pip/pip.conf; \
3940
fi; \
41+
if [ -n "$RUBYGEMS_REPO" ]; then \
42+
gem sources --add $RUBYGEMS_REPO/; \
43+
gem sources --remove https://rubygems.org/; \
44+
gem sources -c; \
45+
fi; \
4046
apt-get update \
4147
&& apt-get install -qq -y --no-install-recommends \
4248
bash \
@@ -80,6 +86,11 @@ RUN set -e; \
8086
if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
8187
sed -i "s|http://deb.debian.org|$DEBIAN_REPO|g" /etc/apt/sources.list.d/debian.sources; \
8288
fi \
89+
fi; \
90+
if [ -n "$RUBYGEMS_REPO" ]; then \
91+
gem sources --add https://rubygems.org/; \
92+
gem sources --remove $RUBYGEMS_REPO/; \
93+
gem sources -c; \
8394
fi
8495

8596
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)