102 lines
2.8 KiB
Jsonnet
102 lines
2.8 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',
|
|
config: { from_secret: 'dockerconfigjson' },
|
|
},
|
|
},
|
|
{
|
|
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/api'],
|
|
},
|
|
depends_on: [
|
|
'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-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'],
|
|
},
|
|
]
|
|
|