Files
reflex-ipad/.drone.jsonnet
Matthias Bilger 154d491958
All checks were successful
continuous-integration/drone/push Build is passing
fix for medicine forms
2024-01-05 15:43:19 +01:00

138 lines
3.8 KiB
Jsonnet

[
{
kind: 'pipeline',
type: 'docker',
name: 'reflex-ipad',
steps: [
{
name: 'builder',
image: 'plugins/docker',
settings: {
tags: ['builder-${DRONE_BUILD_NUMBER}'],
dockerfile: 'Dockerfile.builder',
registry: 'gitea.pb42.de',
repo: 'gitea.pb42.de/matthias/reflex-ipad',
cache_from: 'gitea.pb42.de/matthias/reflex-ipad:builder',
config: { from_secret: 'dockerconfigjson' },
purge: false,
},
},
{
name: 'frontend-builder',
image: 'gitea.pb42.de/matthias/reflex-ipad:builder-${DRONE_BUILD_NUMBER}',
pull: 'always',
commands: [
'cd /app',
'reflex export --frontend-only --no-zip',
'mv .web/_static /drone/src/web',
],
depends_on: [
'builder',
],
},
{
name: 'dockerfile-builder',
image: 'alpine',
pull: 'always',
commands: [
'apk add --update sed',
'sed -i Dockerfile.backend -e "s/#BUILDNR#/${DRONE_BUILD_NUMBER}/"',
],
depends_on: [
'builder',
],
},
{
name: 'backend',
image: 'plugins/docker',
settings: {
tags: ['backend-latest'],
dockerfile: 'Dockerfile.backend',
registry: 'gitea.pb42.de',
cache_from: 'gitea.pb42.de/matthias/reflex-ipad:backend-latest',
repo: 'gitea.pb42.de/matthias/reflex-ipad',
config: { from_secret: 'dockerconfigjson' },
build_args: ['API_URL=https://ipad.pb42.de'],
purge: false,
},
depends_on: [
'builder',
'dockerfile-builder',
],
},
{
name: 'deploy_web',
image: 'appleboy/drone-scp',
settings: {
host: 'pb42.de',
target: '/',
source: 'web/*',
username: {
from_secret: 'deploy_username',
},
key: {
from_secret: 'deploy_key',
},
port: 42022,
},
depends_on: [
'frontend-builder',
],
},
{
name: 'deploy_web_htpasswd',
image: 'appleboy/drone-scp',
settings: {
host: 'pb42.de',
target: '/',
source: 'private/api_passwords',
username: {
from_secret: 'deploy_username',
},
key: {
from_secret: 'deploy_key',
},
port: 42022,
},
depends_on: [
'frontend-builder',
],
},
{
name: 'deploy-docker',
image_: 'robkaandorp/drone-portainer',
image__: 'gstolarz/drone-portainer',
image___: 'gitea.pb42.de/matthias/drone-portainer',
image: 'm42e/drone-portainer',
settings: {
portainer: 'https://portainer.pb42.de',
uri: 'https://portainer.pb42.de',
portainer_url: 'https://portainer.pb42.de',
username: { from_secret: 'portainer_username' },
password: { from_secret: 'portainer_password' },
portainer_username: { from_secret: 'portainer_username' },
portainer_password: { from_secret: 'portainer_password' },
portainer_apikey: { from_secret: 'portainer_api_key' },
portainer_api_key: { from_secret: 'portainer_api_key' },
registry: 'gitea.pb42.de',
endpoint: 'local',
stack_name: 'reflex-ipad',
stack: 'reflex-ipad',
file: 'docker-compose.yml',
standalone: true,
swarmId: '',
type: 2,
environment: [],
env: [],
debug: true,
},
depends_on: [
'backend',
],
},
],
trigger: { event: ['push'] },
image_pull_secrets: ['dockerconfigjson'],
},
]