-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
68 lines (64 loc) · 2.24 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
stages:
- build
- deployment
build:
stage: build
image: docker:latest
tags:
- docker
only:
- master
- dev
parallel:
matrix:
- IMAGE_NAME: ['docs_web_server']
variables:
TAG_REGISTRY_IMAGE: $CI_REGISTRY_IMAGE/$IMAGE_NAME
before_script:
- echo $CI_REGISTRY_PASSWORD | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
- echo $CI_REGISTRY_IMAGE/$IMAGE_NAME
- echo "$DOCS_ENV_FILE"
cache: []
script:
- version=$CI_COMMIT_REF_NAME$(date "+%Y%m%d")
- docker build
--compress
--no-cache
--file $PWD/.docker/production/Dockerfile
--tag $TAG_REGISTRY_IMAGE:$version
--target $IMAGE_NAME
--build-arg DOCS_ENV_FILE=${DOCS_ENV_FILE}
--build-arg CI_JOB_TOKEN=${CI_JOB_TOKEN}
.
- docker push $TAG_REGISTRY_IMAGE:$version
deployment-dev:
image: alpine:latest
stage: deployment
only:
- dev
retry: 2
before_script:
- apk add --no-cache --upgrade bash
script:
- echo "Starting to deploy"
- whoami
- uname -a
- echo "user $DOCS_SERVER_USER_DEV"
- echo "ip $DOCS_SERVER_IP_DEV"
- echo "id_rsa $DOCS_ID_RSA_DEV"
- (which ifconfig) || (apt install net-tools)
- /sbin/ifconfig
- touch blah
- find .
- chmod og= "$DOCS_ID_RSA_DEV"
- apk update && apk add openssh-client
- version=$CI_COMMIT_REF_NAME$(date "+%Y%m%d")
- sed -i "s/VERSION_HERE/$version/g" docker-compose.frontend.docs.yml
- scp -P 22122 -i $DOCS_ID_RSA_DEV -o StrictHostKeyChecking=no docker-compose.frontend.docs.yml $DOCS_SERVER_USER_DEV@$DOCS_SERVER_IP_DEV:/home/ubuntu/$CI_COMMIT_REF_NAME
- ssh -p 22122 -i $DOCS_ID_RSA_DEV -o StrictHostKeyChecking=no $DOCS_SERVER_USER_DEV@$DOCS_SERVER_IP_DEV "echo $CI_REGISTRY_PASSWORD | sudo docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY"
- ssh -p 22122 -i $DOCS_ID_RSA_DEV -o StrictHostKeyChecking=no $DOCS_SERVER_USER_DEV@$DOCS_SERVER_IP_DEV "cd /home/ubuntu/$CI_COMMIT_REF_NAME && sudo docker-compose pull frontend_web_server && sudo docker-compose stop frontend_web_server && sudo docker-compose rm -f ; sudo docker-compose up -d"
after_script:
- echo "Rerun cache commands"
environment:
name: development
url: http://$DOCS_SERVER_IP_DEV