-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
70 lines (64 loc) · 2.01 KB
/
Copy path.gitlab-ci.yml
File metadata and controls
70 lines (64 loc) · 2.01 KB
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
69
70
stages:
- build
- build-image
- deploy
workflow:
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "stable"
variables:
GIT_DEPTH: '16'
GIT_STRATEGY: clone
CONTAINER_IMAGE: ${CI_REGISTRY}/${CI_PROJECT_PATH}/postguard-website:${CI_COMMIT_REF_NAME}
build-root:
stage: build
tags: [docker]
image: node:18-alpine3.15
script:
- npm ci
- npm run build
artifacts:
paths:
- build
expire_in: 1 day
build-image:
stage: build-image
tags: [docker]
dependencies:
- build-root
image: docker:stable
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build -f docker/Dockerfile -t ${CONTAINER_IMAGE} .
- docker push ${CONTAINER_IMAGE}
deploy-main:
stage: deploy
only:
- main
dependencies:
- build-image
environment: $CI_COMMIT_REF_NAME
tags: [docker]
image: ubuntu:rolling
script:
- apt update
- apt install -y openssh-client
- chmod 600 $ILAB_VM_TRIGGER_UPDATE_KEY
- mkdir ~/.ssh
- echo "postguard-main.cs.ru.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC9VnzZJw/jiSj2FwuuJ9rvNdCljSeQ2c/IPw38uHZQQ" > ~/.ssh/known_hosts
- ssh -v $ILAB_VM_TRIGGER_UPDATE_USER@$PG_VM_TRIGGER_UPDATE_HOST_MAIN -i $ILAB_VM_TRIGGER_UPDATE_KEY docker-postguard-website-main
deploy-stable:
stage: deploy
only:
- stable
dependencies:
- build-image
environment: $CI_COMMIT_REF_NAME
tags: [docker]
image: ubuntu:rolling
script:
- apt update
- apt install -y openssh-client
- chmod 600 $ILAB_VM_TRIGGER_UPDATE_KEY
- mkdir ~/.ssh
- echo "postguard-stable.cs.ru.nl ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC9VnzZJw/jiSj2FwuuJ9rvNdCljSeQ2c/IPw38uHZQQ" > ~/.ssh/known_hosts
- ssh -v $ILAB_VM_TRIGGER_UPDATE_USER@$PG_VM_TRIGGER_UPDATE_HOST_STABLE -i $ILAB_VM_TRIGGER_UPDATE_KEY docker-postguard-website-stable