Fix Docker preview image (#16736)

pull/16750/head
Diego Sampaio 6 years ago committed by GitHub
parent 6f0e929e9d
commit dbc774ac10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 25
      .docker-mongo/Dockerfile
  2. 25
      .docker-mongo/entrypoint.sh
  3. 10
      .github/workflows/build_and_test.yml

@ -1,24 +1,24 @@
FROM rocketchat/base:12.14.0
ADD . /app
ADD entrypoint.sh /app/bundle/
MAINTAINER buildmaster@rocket.chat
LABEL maintainer="buildmaster@rocket.chat"
RUN set -x \
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& apt-get update \
&& apt-get install -y wget \
&& wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add - \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list \
&& apt-get update \
&& apt-get install -y --force-yes pwgen mongodb-org \
&& echo "mongodb-org hold" | dpkg --set-selections \
&& echo "mongodb-org-server hold" | dpkg --set-selections \
&& echo "mongodb-org-shell hold" | dpkg --set-selections \
&& echo "mongodb-org-mongos hold" | dpkg --set-selections \
&& echo "mongodb-org-tools hold" | dpkg --set-selections \
&& apt-get install -y pwgen mongodb-org \
&& apt-get clean my room
ADD . /app
ADD entrypoint.sh /app/bundle/
RUN set -x \
&& cd /app/bundle/programs/server \
&& npm install \
&& npm cache clear --force \
&& rm -rf /var/lib/apt/lists/*
&& chown -R rocketchat:rocketchat /app
VOLUME /app/uploads
@ -28,6 +28,7 @@ WORKDIR /app/bundle
ENV DEPLOY_METHOD=docker-preview \
NODE_ENV=production \
MONGO_URL=mongodb://localhost:27017/rocketchat \
MONGO_OPLOG_URL=mongodb://localhost:27017/local \
HOME=/tmp \
PORT=3000 \
ROOT_URL=http://localhost:3000 \

@ -39,11 +39,32 @@ echo """
╚═╝ ╚═╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═══╝ ╚═╝╚══════╝ ╚══╝╚══╝
"""
mongod --smallfiles --storageEngine=mmapv1 --fork --config /etc/mongod.conf
mongod --smallfiles --storageEngine=mmapv1 --fork --replSet rs0 --config /etc/mongod.conf
until mongo --eval "db" &> /dev/null; do
echo "MongoDB still not ready, sleeping"
sleep 1
done
node main.js
sleep 2
# initiate mongo replica set
for i in `seq 1 30`; do
mongo rocketchat --eval "
rs.initiate({
_id: 'rs0',
members: [ { _id: 0, host: 'localhost:27017' } ]})" &&
s=$? && break || s=$?;
echo "Tried $i times. Waiting 5 secs...";
sleep 5;
done;
sleep 2
# try multiple times until replica set is ready
for i in `seq 1 30`; do
node main.js &&
s=$? && break || s=$?;
echo "Tried $i times. Waiting 5 secs...";
sleep 5;
done;

@ -419,7 +419,6 @@ jobs:
export DOCKER_PATH="${GITHUB_WORKSPACE}/.docker"
if [[ '${{ matrix.release }}' = 'preview' ]]; then
export IMAGE="${IMAGE}.preview"
export DOCKER_PATH="${DOCKER_PATH}-mongo"
fi;
@ -437,6 +436,10 @@ jobs:
cd /tmp/build
export CIRCLE_TAG="${GITHUB_REF#*tags/}"
if [[ '${{ matrix.release }}' = 'preview' ]]; then
export IMAGE="${IMAGE}.preview"
fi;
docker build -t ${IMAGE}:$CIRCLE_TAG .
docker push ${IMAGE}:$CIRCLE_TAG
@ -453,5 +456,10 @@ jobs:
if: github.ref == 'refs/heads/develop'
run: |
cd /tmp/build
if [[ '${{ matrix.release }}' = 'preview' ]]; then
export IMAGE="${IMAGE}.preview"
fi;
docker build -t ${IMAGE}:develop .
docker push ${IMAGE}:develop

Loading…
Cancel
Save