Create rolling releases using the Gitlab API. (#171)

* Create rolling releases using the Gitlab API.

This commit builds rolling releases of Container images using the latest commit
on master branch if the pipeline passed for it. The script which gets the
references is still un-tested and should be tested.

The latest commit hashes are passed as arguments to the Dockerfile, which is
then used by PIP to install the specific version of the dependency.
This commit is contained in:
Abhilash Raj
2017-11-03 18:43:59 -07:00
committed by GitHub
parent 743bc8522c
commit 3434446987
9 changed files with 127 additions and 45 deletions

View File

@@ -8,7 +8,7 @@ COPY docker-entrypoint.sh /usr/local/bin/
#Install all required packages, add user for executing mailman and set execution rights for startup script
RUN apk update \
&& apk add --virtual build-deps gcc python3-dev musl-dev postgresql-dev \
&& apk add bash su-exec postgresql-client mysql-client \
&& apk add bash su-exec postgresql-client mysql-client curl \
&& pip install psycopg2 \
mailman==3.1.0 \
mailman-hyperkitty==1.1.0 \

View File

@@ -5,15 +5,19 @@ MAINTAINER Abhilash Raj
#Add startup script to container
COPY docker-entrypoint.sh /usr/local/bin/
# Set the commits that we are building.
ARG CORE_REF
ARG MM3_HK_REF
#Install all required packages, add user for executing mailman and set execution
#rights for startup script
RUN apk update \
&& apk add --virtual build-deps gcc python3-dev musl-dev postgresql-dev git \
&& apk add bash su-exec postgresql-client mysql-client \
&& pip install -U psycopg2 \
git+https://gitlab.com/mailman/mailman.git \
git+https://gitlab.com/mailman/mailman-hyperkitty.git \
pymysql \
&& apk add bash su-exec postgresql-client mysql-client curl \
&& pip install -U psycopg2 pymysql \
git+https://gitlab.com/mailman/mailman@${CORE_REF} \
git+https://gitlab.com/mailman/mailman-hyperkitty@${MM3_HK_REF} \
&& apk del build-deps \
&& adduser -S mailman
@@ -23,7 +27,9 @@ WORKDIR /opt/mailman
#Expose the ports for the api (8001) and lmtp (8024)
EXPOSE 8001 8024
# Set the default configuration file.
ENV MAILMAN_CONFIG_FILE /etc/mailman.cfg
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["master"]