-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
37 lines (30 loc) · 1 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
variables:
IMAGE_NAME: "mypenink/cardjizzer"
EXPOSE_PORT_STAGING: 30005
EXPOSE_PORT_PROD: 30006
CONTAINER_NAME: "cardjizzer"
CONTAINER_PORT: 8100
stages:
- build
- deploy-staging
- deploy-production
build:
stage: build
script:
- docker build -t $IMAGE_NAME .
- docker login -u mypenink -p $docker_pw
- docker push $IMAGE_NAME
deploy-staging:
stage: deploy-staging
script:
- docker rm -f ${CONTAINER_NAME}-staging || true
- docker rmi -f $IMAGE_NAME || true
- docker run -d -p $EXPOSE_PORT_STAGING:$CONTAINER_PORT --name ${CONTAINER_NAME}-staging -e 'BASE_HREF=/staging/' $IMAGE_NAME
deploy-production:
stage: deploy-production
only:
- tags
script:
- docker rm -f ${CONTAINER_NAME}-production || true
- docker rmi -f $IMAGE_NAME || true
- docker run -d -p $EXPOSE_PORT_PRODUCTION:$CONTAINER_PORT --name ${CONTAINER_NAME}-production -e 'BASE_HREF=/production/' $IMAGE_NAME