forked from degenfolio/degenfolio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
66 lines (63 loc) · 1.47 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
stages:
- build
- test
- deploy
build:
image: docker:stable
stage: build
services:
- name: docker:dind
alias: localhost
only:
refs:
- branches
script:
- apk add bash curl git jq make
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker login -u $DOCKER_USER -p $DOCKER_PASSWORD docker.io
- make pull-latest
- make prod
- make push
test:
image: docker:stable
stage: test
services:
- name: docker:dind
alias: localhost
only:
refs:
- branches
script:
- apk add bash curl git jq make
- make test-adapters
- make start-prod
- make dls
- bash ops/health-check.sh server
- bash ops/health-check.sh webserver
- bash ops/health-check.sh proxy
deploy:
image: docker:stable
stage: deploy
services:
- name: docker:dind
alias: localhost
only:
refs:
- prod
script:
- apk add bash curl git jq make
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker login -u $DOCKER_USER -p $DOCKER_PASSWORD docker.io
- make pull-commit
- make push-semver
- >
docker build --tag ssh-action ops/ssh-action;
docker run \
--env=GIT_BRANCH=prod \
--env=GIT_PROJECT_NAME=$CI_PROJECT_NAME \
--env=GIT_REMOTE=origin \
--env=GIT_REPOSITORY_URL=$CI_REPOSITORY_URL \
ssh-action $SERVER_URL $SSH_KEY '
make pull;
make restart-prod;
'