MOBILE-2837 Docker: Add a Dockerfile for easier testing and CI
parent
b7d56bf641
commit
1976cba5aa
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
Dockerfile
|
|
@ -0,0 +1,27 @@
|
||||||
|
# This image is based on the fat node 11 image.
|
||||||
|
# We require fat images as neither alpine, or slim, include git binaries.
|
||||||
|
FROM node:11
|
||||||
|
|
||||||
|
# Port 8100 for ionic dev server.
|
||||||
|
EXPOSE 8100
|
||||||
|
|
||||||
|
# Port 35729 is the live-reload server.
|
||||||
|
EXPOSE 35729
|
||||||
|
|
||||||
|
# Port 53703 is the Chrome dev logger port.
|
||||||
|
EXPOSE 53703
|
||||||
|
|
||||||
|
# MoodleMobile uses Cordova, Ionic, and Gulp.
|
||||||
|
RUN npm install -g cordova ionic gulp && rm -rf /root/.npm
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY . /app
|
||||||
|
|
||||||
|
# The setup script will handle npm installation, cordova setup, and gulp setup.
|
||||||
|
RUN npm run setup && rm -rf /root/.npm
|
||||||
|
|
||||||
|
# Provide a Healthcheck command for easier use in CI.
|
||||||
|
HEALTHCHECK --interval=10s --timeout=3s --start-period=30s CMD curl -f http://localhost:8100 || exit 1
|
||||||
|
|
||||||
|
CMD ["ionic", "serve", "-b"]
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "integration" != "${SOURCE_BRANCH}" ]
|
||||||
|
then
|
||||||
|
# A space-separated list of additional tags to place on this image.
|
||||||
|
additionalTags=(latest)
|
||||||
|
|
||||||
|
# Tag and push image for each additional tag
|
||||||
|
for tag in ${additionalTags[@]}; do
|
||||||
|
echo "Tagging {$IMAGE_NAME} as ${DOCKER_REPO}:${tag}"
|
||||||
|
docker tag $IMAGE_NAME ${DOCKER_REPO}:${tag}
|
||||||
|
|
||||||
|
echo "Pushing ${DOCKER_REPO}:${tag}"
|
||||||
|
docker push ${DOCKER_REPO}:${tag}
|
||||||
|
done
|
||||||
|
fi
|
Loading…
Reference in New Issue