File tree Expand file tree Collapse file tree 4 files changed +30
-8
lines changed
Expand file tree Collapse file tree 4 files changed +30
-8
lines changed Original file line number Diff line number Diff line change 11ARG RUBY_TEST_VERSION=2.7
22FROM ruby:${RUBY_TEST_VERSION}
33
4+ # Default UID/GID to 1000
5+ # it can be overridden at build time
6+ ARG BUILDER_UID=1000
7+ ARG BUILDER_GID=1000
8+ ENV BUILDER_USER elastic
9+ ENV BUILDER_GROUP elastic
10+
411ENV GEM_HOME="/usr/local/bundle"
5- ENV PATH $GEM_HOME/bin:$GEM_HOME/gems/bin:$PATH
12+ ENV PATH= " $GEM_HOME/bin:$GEM_HOME/gems/bin:$PATH"
613ENV QUIET=true
714ENV CI=true
815
16+ # Install required tools
17+ RUN apt-get -q update \
18+ && apt-get -y install zip \
19+ && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
20+
21+ # Create user
22+ RUN groupadd --system -g ${BUILDER_GID} ${BUILDER_GROUP} \
23+ && useradd --system --shell /bin/bash -u ${BUILDER_UID} -g ${BUILDER_GROUP} -d /var/lib/elastic -m elastic 1>/dev/null 2>/dev/null \
24+ && mkdir -p /usr/src/app && touch /Gemfile.lock \
25+ && chown -R ${BUILDER_USER}:${BUILDER_GROUP} /usr/src/app /Gemfile.lock
26+
27+ COPY --chown=$BUILDER_USER:$BUILDER_GROUP . .
28+
929WORKDIR /usr/src/app
1030
11- COPY . .
31+ USER ${BUILDER_USER}:${BUILDER_GROUP}
1232
13- RUN apt-get update
14- RUN apt-get install zip
15- RUN bundle install --quiet
16- RUN bundle exec rake bundle:clean
17- RUN rake bundle:install
33+ RUN bundle install \
34+ && bundle exec rake bundle:clean \
35+ && rake bundle:install
Original file line number Diff line number Diff line change @@ -116,7 +116,7 @@ echo -e "\033[1m>>>>> Build [elastic/elasticsearch-ruby container] >>>>>>>>>>>>>
116116# ------------------------------------------------------- #
117117
118118echo -e " \033[34;1mINFO: building $product container\033[0m"
119- docker build --file .ci/Dockerfile --tag ${product} .
119+ docker build --build-arg BUILDER_UID= " $( id -u ) " -- file .ci/Dockerfile --tag ${product} .
120120
121121# ------------------------------------------------------- #
122122# Run the Container
@@ -131,6 +131,7 @@ args_string="${TASK_ARGS[*]}"
131131args_string=" ${args_string// / ,} "
132132
133133docker run \
134+ -u " $( id -u) " \
134135 --env " RUBY_TEST_VERSION=${RUBY_TEST_VERSION} " \
135136 --env " WORKFLOW=${WORKFLOW} " \
136137 --name test-runner \
Original file line number Diff line number Diff line change 115115 echo -e " \033[34;1mINFO:\033[0m Starting container $node_name \033[0m"
116116 set -x
117117 docker run \
118+ -u " $( id -u) " \
118119 --name " $node_name " \
119120 --network " $network_name " \
120121 --env " ES_JAVA_OPTS=-Xms1g -Xmx1g -da:org.elasticsearch.xpack.ccr.index.engine.FollowingEngineAssertions" \
Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ repo=`pwd`
4343# run the client tests
4444if [[ $TEST_SUITE != " platinum" ]]; then
4545 docker run \
46+ -u " $( id -u) " \
4647 --network=" ${network_name} " \
4748 --env " TEST_ES_SERVER=${elasticsearch_url} " \
4849 --env " TEST_SUITE=${TEST_SUITE} " \
@@ -53,6 +54,7 @@ if [[ $TEST_SUITE != "platinum" ]]; then
5354 bundle exec rake elasticsearch:download_artifacts test:rest_api
5455else
5556 docker run \
57+ -u " $( id -u) " \
5658 --network=" ${network_name} " \
5759 --env " TEST_ES_SERVER=${elasticsearch_url} " \
5860 --env " ELASTIC_PASSWORD=${elastic_password} " \
You can’t perform that action at this time.
0 commit comments