Files
reflex-ipad/.drone.jsonnet
Matthias Bilger 71e9decbf0
Some checks failed
continuous-integration/drone/push Build is failing
use host dir for docker data
2024-01-05 08:47:34 +01:00

120 lines
3.3 KiB
Jsonnet

[
{
kind: 'pipeline',
type: 'docker',
name: 'reflex-ipad',
steps: [
{
name: 'builder',
image: 'plugins/docker',
settings: {
tags: ['builder'],
dockerfile: 'Dockerfile.builder',
registry: 'gitea.pb42.de',
repo: 'gitea.pb42.de/matthias/reflex-ipad',
cache_from: 'gitea.pb42.de/matthias/reflex-ipad:builder',
storage_path: '/drone/docker',
config: { from_secret: 'dockerconfigjson' },
purge: false,
},
volumes: [
{ name: 'docker-cache', path: '/drone/docker' },
],
},
{
name: 'frontend-builder',
image: 'gitea.pb42.de/matthias/reflex-ipad:builder',
commands: [
'cd /app',
'reflex export --frontend-only --no-zip',
'mv .web/_static /drone/src/web',
],
depends_on: [
'builder',
],
},
{
name: 'backend',
image: 'plugins/docker',
settings: {
tags: ['backend-latest'],
dockerfile: 'Dockerfile.backend',
registry: 'gitea.pb42.de',
repo: 'gitea.pb42.de/matthias/reflex-ipad',
config: { from_secret: 'dockerconfigjson' },
build_args: ['API_URL=https://ipad.pb42.de'],
storage_path: '/drone/docker',
purge: false,
},
depends_on: [
'builder',
],
volumes: [
{ name: 'docker-cache', path: '/drone/docker' },
],
},
{
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-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',
],
},
],
volumes: [
{
name: 'docker-cache',
host: {
path: '/tmp/drone/reflex-ipad/docker-cache',
},
},
],
trigger: { event: ['push'] },
image_pull_secrets: ['dockerconfigjson'],
},
]