-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.drone.yml
106 lines (96 loc) · 2.01 KB
/
.drone.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
name: production
kind: pipeline
type: docker
concurrency:
limit: 1
environment:
MIX_ENV: prod
steps:
- name: elixir deps get
image: elixir:1.11-alpine
volumes:
- name: mix-temp
path: /root/.mix
commands:
- mix do local.hex --force, local.rebar --force
- mix deps.get --only $MIX_ENV
- name: npm assets
image: node:lts-alpine
depends_on:
- elixir deps get
volumes:
- name: npm-temp
path: /root/.npm
commands:
- npm install --prefix assets
- npm run prod --prefix assets
- name: elixir deps compile
image: elixir:1.11-alpine
depends_on:
- npm assets
volumes:
- name: mix-temp
path: /root/.mix
commands:
- mix deps.compile
- name: digest
depends_on:
- elixir deps compile
image: elixir:1.11-alpine
volumes:
- name: mix-temp
path: /root/.mix
commands:
- cd /drone/src
- mix phx.digest
- name: assemble release
depends_on:
- digest
image: elixir:1.11-alpine
volumes:
- name: mix-temp
path: /root/.mix
commands:
- mix release
environment:
MIX_ENV: prod
- name: dockerfile build
depends_on:
- assemble release
image: plugins/docker
settings:
repo: registry.km8.es/rollup-test
tags:
- "latest"
# - "${DRONE_TAG}"
registry: registry.km8.es
username:
from_secret: docker_repo_user
password:
from_secret: docker_repo_password
build_args:
- MIX_ENV=prod
- name: deploy
depends_on:
- dockerfile build
image: appleboy/drone-ssh
settings:
host: web-03.km8.vm
port: 22
username:
from_secret: web-01_ssh_user
key:
from_secret: web-01_ssh_key
passphrase:
from_secret: web-01_ssh_passphrase
script:
- cd /srv/docker/rollup-test
- docker-compose down
- docker-compose pull
- docker-compose up -d
volumes:
- name: mix-temp
temp: {}
- name: npm-temp
temp: {}