Merge pull request #460 from dannyrb/chore/create-tagged-docker-image
Chore/create tagged docker image
This commit is contained in:
commit
e848cedbaf
@ -72,6 +72,20 @@ jobs:
|
|||||||
name: Publish using Semantic Release
|
name: Publish using Semantic Release
|
||||||
command: npx semantic-release --debug --dry-run
|
command: npx semantic-release --debug --dry-run
|
||||||
|
|
||||||
|
docker_publish:
|
||||||
|
<<: *defaults
|
||||||
|
steps:
|
||||||
|
- attach_workspace:
|
||||||
|
at: ~/repo
|
||||||
|
- setup_remote_docker:
|
||||||
|
docker_layer_caching: true
|
||||||
|
- run:
|
||||||
|
name: Build and push Docker image
|
||||||
|
command: |
|
||||||
|
docker build -t ohif/$IMAGE_NAME:$TAG .
|
||||||
|
echo $DOCKER_PWD | docker login -u $DOCKER_LOGIN --password-stdin
|
||||||
|
docker push ohif/$IMAGE_NAME:$TAG
|
||||||
|
|
||||||
docs_publish:
|
docs_publish:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
steps:
|
steps:
|
||||||
@ -119,3 +133,6 @@ workflows:
|
|||||||
- docs_publish:
|
- docs_publish:
|
||||||
requires:
|
requires:
|
||||||
- build_and_test
|
- build_and_test
|
||||||
|
- docker_publish:
|
||||||
|
requires:
|
||||||
|
- build_and_test
|
||||||
|
|||||||
12
docker/Viewer-v2.x/default.conf
Normal file
12
docker/Viewer-v2.x/default.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
location / {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html index.htm;
|
||||||
|
try_files $uri $uri/ /index.html;
|
||||||
|
}
|
||||||
|
error_page 500 502 503 504 /50x.html;
|
||||||
|
location = /50x.html {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
}
|
||||||
|
}
|
||||||
48
dockerfile
Normal file
48
dockerfile
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# This dockerfile is used to publish the `ohif/viewer` image on dockerhub.
|
||||||
|
#
|
||||||
|
# It's a good example of how to build our static application and package it
|
||||||
|
# with a web server capable of hosting it as static content.
|
||||||
|
#
|
||||||
|
# docker build
|
||||||
|
# --------------
|
||||||
|
# If you would like to use this dockerfile to build and tag an image, make sure
|
||||||
|
# you set the context to the project's root directory:
|
||||||
|
# https://docs.docker.com/engine/reference/commandline/build/
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# SUMMARY
|
||||||
|
# --------------
|
||||||
|
# This dockerfile has two stages:
|
||||||
|
#
|
||||||
|
# 1. Building the React application for production
|
||||||
|
# 2. Setting up our Nginx (Alpine Linux) image w/ step one's output
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Stage 1: Build the application
|
||||||
|
# docker build -t ohif/viewer:latest .
|
||||||
|
FROM node:11.2.0-slim as builder
|
||||||
|
|
||||||
|
# RUN apt-get update && apt-get install -y git yarn
|
||||||
|
RUN mkdir /usr/src/app
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
ENV PATH /usr/src/app/node_modules/.bin:$PATH
|
||||||
|
ENV GENERATE_SOURCEMAP=false
|
||||||
|
|
||||||
|
COPY package.json /usr/src/app/package.json
|
||||||
|
COPY yarn.lock /usr/src/app/yarn.lock
|
||||||
|
|
||||||
|
ADD . /usr/src/app/
|
||||||
|
RUN yarn install
|
||||||
|
RUN yarn run build:web
|
||||||
|
|
||||||
|
# Stage 2: Bundle the built application into a Docker container
|
||||||
|
# which runs Nginx using Alpine Linux
|
||||||
|
FROM nginx:1.15.5-alpine
|
||||||
|
RUN rm -rf /etc/nginx/conf.d
|
||||||
|
COPY docker/Viewer-v2.x /etc/nginx/conf.d
|
||||||
|
COPY --from=builder /usr/src/app/build /usr/share/nginx/html
|
||||||
|
EXPOSE 80
|
||||||
|
EXPOSE 443
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
@ -1,25 +0,0 @@
|
|||||||
# Stage 1: Build the application
|
|
||||||
# docker build -t ohif/viewer:latest .
|
|
||||||
FROM node:11.2.0-slim as builder
|
|
||||||
|
|
||||||
# RUN apt-get update && apt-get install -y git yarn
|
|
||||||
RUN mkdir /usr/src/app
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
|
|
||||||
ENV PATH /usr/src/app/node_modules/.bin:$PATH
|
|
||||||
|
|
||||||
COPY package.json /usr/src/app/package.json
|
|
||||||
COPY yarn.lock /usr/src/app/yarn.lock
|
|
||||||
|
|
||||||
ADD . /usr/src/app/
|
|
||||||
RUN yarn install
|
|
||||||
RUN yarn run build:web
|
|
||||||
|
|
||||||
# # Stage 2: Bundle the built application into a Docker container
|
|
||||||
# # which runs Nginx using Alpine Linux
|
|
||||||
FROM nginx:1.15.5-alpine
|
|
||||||
RUN rm -rf /etc/nginx/conf.d
|
|
||||||
COPY conf /etc/nginx
|
|
||||||
COPY --from=builder /usr/src/app/build /usr/share/nginx/html
|
|
||||||
EXPOSE 80
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"orthanc:up": "docker-compose -f docker/Nginx-Orthanc/docker-compose.yml up",
|
"orthanc:up": "docker-compose -f docker/Nginx-Orthanc/docker-compose.yml up",
|
||||||
"dev:orthanc": "yarn run preBuild && cross-env PORT=5000 REACT_APP_CONFIG=config/docker_nginx-orthanc.js react-scripts start",
|
"dev:orthanc": "yarn run preBuild && cross-env PORT=5000 REACT_APP_CONFIG=config/docker_nginx-orthanc.js react-scripts start",
|
||||||
"version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > src/version.js",
|
"version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > src/version.js",
|
||||||
"copy:webworkers": "cpx 'node_modules/cornerstone-wado-image-loader/dist/*.min.js*' public"
|
"copy:webworkers": "cpx \"node_modules/cornerstone-wado-image-loader/dist/*.min.js*\" \"public\" -v"
|
||||||
},
|
},
|
||||||
"husky": {
|
"husky": {
|
||||||
"hooks": {
|
"hooks": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user