-
Notifications
You must be signed in to change notification settings - Fork 0
/
.drone.yml
220 lines (203 loc) · 6.36 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
kind: pipeline
type: docker
name: default
workspace:
path: /drone/nami
steps:
- name: submodules
image: alpine/git
commands:
- git submodule update --init --recursive
- name: composer_dev
image: composer:2.2.7
commands:
- composer install --ignore-platform-reqs --dev
- name: mysql_healthcheck
image: mysql:oracle
commands:
- while ! mysqladmin ping -h db -u db -pdb --silent; do sleep 1; done
- name: ocdb_healthcheck
image: mysql:oracle
commands:
- while ! mysqladmin ping -h ownclouddb -u owncloud -powncloud --silent; do sleep 1; done
- name: oc_healthcheck
image: zoomyboy/adrema-base:latest
commands:
- while ! curl --silent 'http://owncloudserver:8080/ocs/v1.php/cloud/capabilities?format=json' -u admin:admin | grep '"status":"ok"'; do sleep 1; done
- name: node
image: node:20.15.0-slim
commands:
- npm ci && cd packages/adrema-form && npm ci && npm run build && rm -R node_modules && cd ../../ && npm run img && npm run prod && rm -R node_modules
- name: tests
image: zoomyboy/adrema-base:latest
commands:
- php artisan migrate
- php artisan test
- rm -f .env
- vendor/bin/phpstan analyse
environment:
APP_NAME: Scoutrobot
APP_KEY:
from_secret: app_key
APP_ENV: local
APP_DEBUG: true
APP_URL: http://scoutrobot.test
LOG_CHANNEL: stack
DB_CONNECTION: mysql
DB_HOST: db
REDIS_HOST: redis
DB_PORT: 3306
DB_DATABASE: db
DB_USERNAME: db
DB_PASSWORD: db
BROADCAST_DRIVER: log
CACHE_DRIVER: file
QUEUE_CONNECTION: sync
SESSION_DRIVER: file
SESSION_LIFETIME: 120
MAIL_FROM_NAME: '${APP_NAME}'
PDFLATEX_BIN: /usr/bin/pdflatex
XELATEX_BIN: /usr/bin/xelatex
SCOUT_DRIVER: database
MEILI_MASTER_KEY: abc
TEST_OWNCLOUD_DOMAIN: http://owncloudserver:8080
TEST_NEXTCLOUD_DOMAIN: http://nextcloudserver:80
- name: docker_app_push
image: plugins/docker
settings:
dockerfile: ./.docker/php.Dockerfile
repo: zoomyboy/adrema-app
username: zoomyboy
password:
from_secret: docker_hub_token
tags:
- latest
- ${DRONE_TAG}
pull_image: true
when:
event: tag
- name: docker_webservice_push
image: plugins/docker
settings:
dockerfile: ./.docker/nginx.Dockerfile
repo: zoomyboy/adrema-webservice
username: zoomyboy
password:
from_secret: docker_hub_token
tags:
- latest
- ${DRONE_TAG}
pull_image: true
when:
event: tag
- name: deploy
image: php:8.1.6
environment:
SSH_KEY:
from_secret: deploy_private_key
commands:
- apt-get update > /dev/null
- apt-get install -y openssh-client
- mkdir $HOME/.ssh
- echo "UserKnownHostsFile=/dev/null" >> $HOME/.ssh/config
- echo "StrictHostKeyChecking=no" >> $HOME/.ssh/config
- echo "$SSH_KEY" > $HOME/.ssh/id_rsa
- chmod 600 $HOME/.ssh/id_rsa
- ./vendor/bin/envoy run deploy
when:
event: tag
- name: github push
image: alpine/git
environment:
SSH_KEY:
from_secret: github_private_key
commands:
- mkdir $HOME/.ssh
- git config core.sshCommand "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
- echo "$SSH_KEY" > $HOME/.ssh/id_rsa
- chmod 600 $HOME/.ssh/id_rsa
- git remote add gh git@github.com:zoomyboy/adrema.git
- git push -f gh HEAD:master
when:
branch: master
event: push
- name: composer_no_dev
image: composer:2.2.7
commands:
- composer install --ignore-platform-reqs --no-dev
- name: compress
image: php:8.1.6
commands:
- apt-get update -yqq
- apt-get install -yqq zip tar
- cd .. && tar -cvzf nami.tar.gz ./nami && mv nami.tar.gz nami/ && cd nami
when:
event: tag
- name: gitea_release
image: plugins/gitea-release
settings:
api_key:
from_secret: gitea_api_key
base_url: https://git.zoomyboy.de
files: ./nami.tar.gz
when:
event: tag
services:
- name: db
image: mariadb:10.6.5
environment:
MARIADB_DATABASE: db
MARIADB_USER: db
MARIADB_PASSWORD: db
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: yes
- name: redis
image: redis
- name: meilisearch
image: getmeili/meilisearch:v1.6
commands:
- meilisearch --master-key="abc"
- name: ownclouddb
image: mariadb:10.11
environment:
MYSQL_ROOT_PASSWORD: owncloud
MYSQL_USER: owncloud
MYSQL_PASSWORD: owncloud
MYSQL_DATABASE: owncloud
MARIADB_AUTO_UPGRADE: 1
- name: owncloudserver
image: owncloud/server:10.10.0
environment:
OWNCLOUD_DOMAIN: http://owncloudserver:8080
OWNCLOUD_TRUSTED_DOMAINS: owncloudserver
OWNCLOUD_DB_TYPE: mysql
OWNCLOUD_DB_NAME: owncloud
OWNCLOUD_DB_USERNAME: owncloud
OWNCLOUD_DB_PASSWORD: owncloud
OWNCLOUD_DB_HOST: ownclouddb
OWNCLOUD_ADMIN_USERNAME: admin
OWNCLOUD_ADMIN_PASSWORD: admin
OWNCLOUD_MYSQL_UTF8MB4: true
OWNCLOUD_REDIS_ENABLED: false
OWNCLOUD_REDIS_HOST: false
- name: nextclouddb
image: mariadb:10.11
environment:
MYSQL_ROOT_PASSWORD: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
MARIADB_AUTO_UPGRADE: 1
- name: nextcloudserver
image: nextcloud
environment:
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_HOST: nextclouddb
NEXTCLOUD_ADMIN_USER: admin
NEXTCLOUD_ADMIN_PASSWORD: admin
NEXTCLOUD_TRUSTED_DOMAINS: nextcloudserver
trigger:
event:
- push
- tag