-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
54 lines (48 loc) · 1.51 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
image: $CI_REGISTRY/just1ce/poster/docker
stages:
- test
- deploy
variables:
DOCKER_DRIVER: overlay2
services:
- docker:dind
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" >> sshkey
- chmod 400 sshkey
- ssh-add sshkey
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
tests:
stage: test
except:
variables:
- $CI_COMMIT_MESSAGE =~ /skip-test/
script:
- cp -u .env.example .env
- docker-compose -f compose.base.yml -f compose.dev.yml pull
- bash ./bin/docker-deploy.sh
- docker exec poster vendor/bin/phpunit
- docker-compose -f compose.base.yml -f compose.dev.yml down -v
- docker-compose -f compose.base.yml -f compose.dev.yml push
cache:
paths:
- vendor/
deploy:
stage: deploy
script:
- cp -u .env.example .env
- docker-compose -f compose.base.yml -f compose.prod.yml pull
- bash ./bin/docker-deploy.prod.sh build
- docker-compose -f compose.base.yml -f compose.prod.yml push
- docker-compose -f compose.base.yml -f compose.prod.yml down -v
- scp compose.base.yml just1ce@185.249.255.224:~/www
- scp compose.prod.yml just1ce@185.249.255.224:~/www
- scp -r ./bin just1ce@185.249.255.224:~/www
- ssh just1ce@185.249.255.224 "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY &&
cd ~/www/ &&
./bin/docker-deploy.prod.sh"
#when: manual
only:
- master