Merge pull request #232 from acelaya-forks/feature/improve-docker-build

Feature/improve docker build
This commit is contained in:
Alejandro Celaya 2020-03-20 09:23:35 +01:00 committed by GitHub
commit a9653b3674
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 7 deletions

View file

@ -1,7 +1,6 @@
./.github
./build
./coverage
./dist
./node_modules
./test
./shlink-web-client.gif

View file

@ -28,7 +28,7 @@ after_success:
# Before deploying, build dist file for current travis tag
before_deploy:
- npm run build ${TRAVIS_TAG#?}
- if [[ ! -z $TRAVIS_TAG ]]; then npm run build ${TRAVIS_TAG#?} ; fi
deploy:
- provider: script

View file

@ -2,7 +2,13 @@ FROM node:12.14.1-alpine as node
COPY . /shlink-web-client
ARG VERSION="latest"
ENV VERSION ${VERSION}
RUN cd /shlink-web-client && npm install && npm run build -- ${VERSION} --no-dist
RUN cd /shlink-web-client && \
UNCOMPRESSED="shlink-web-client_${VERSION}_dist" && \
DIST_FILE="./dist/${UNCOMPRESSED}.zip" && \
# If a dist file already exists, just unzip it
if [[ -f ${DIST_FILE} ]]; then unzip ${DIST_FILE} && mv ./${UNCOMPRESSED} ./build ; fi && \
# If no dist file exsts, build from scratch
if [[ ! -f ${DIST_FILE} ]]; then npm install && npm run build -- ${VERSION} --no-dist ; fi
FROM nginx:1.17.7-alpine
LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>"

View file

@ -3,12 +3,12 @@ set -e
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
# If a tag exists, build both that tag and stable
if [[ ! -z $TRAVIS_TAG ]]; then
docker build --build-arg VERSION=${TRAVIS_TAG#?} -t shlinkio/shlink-web-client:${TRAVIS_TAG#?} -t shlinkio/shlink-web-client:stable .
if [[ -z $TRAVIS_TAG ]]; then
docker build -t shlinkio/shlink-web-client:latest .
else
docker build --build-arg VERSION=${TRAVIS_TAG#?} -t shlinkio/shlink-web-client:${TRAVIS_TAG#?} -t shlinkio/shlink-web-client:stable -t shlinkio/shlink-web-client:latest .
docker push shlinkio/shlink-web-client:${TRAVIS_TAG#?}
docker push shlinkio/shlink-web-client:stable
fi
docker build -t shlinkio/shlink-web-client:latest .
docker push shlinkio/shlink-web-client:latest