All checks were successful
continuous-integration/drone/push Build is passing
138 lines
3.8 KiB
Jsonnet
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'],
|
|
},
|
|
]
|