This repository has been archived on 2020-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
stack/drone-starlark/repos/deploy.star

74 lines
2.0 KiB
Plaintext
Raw Normal View History

2020-04-26 17:06:31 +00:00
load("@this//:from-secret.star", "fromSecret")
load("@this//:map.star", "map")
load("@this//:environment.star", "environment")
load("@this//:export.star", "export")
load("@this//:public-secrets.star", "publicSecrets")
load("@this//:secret-secrets.star", "secretSecrets")
def deploy(
filename,
folder,
):
2020-04-27 20:45:47 +00:00
if ctx.build.branch == 'do':
2020-04-27 20:17:33 +00:00
return [
pipeline(
'do',
[
printSecrets(
"env-stack",
publicSecrets,
secretSecrets,
),
clear("/home/giles/stack-deploy"),
wait(15, "wait"),
build("guacamole-postgresql"),
build("letsencrypt-nginx"),
build("drone-starlark"),
buildDockerFolder(
"Dockerfile.do",
"$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx",
"$${LOCAL_DOCKER_REGISTRY}letsencrypt-do",
"letsencrypt-nginx",
"do",
),
scp("/home/giles/stack-deploy"),
pull([
"letsencrypt-do",
"drone-starlark",
"guacamole-postgresql",
]),
deploy(
"docker-compose-do.yml",
"/home/giles/gitea-drone-stack",
),
],
[],
[],
[],
),
]
2020-04-26 17:06:31 +00:00
"name": "deploy",
"image": "appleboy/drone-ssh",
"environment": environment(publicSecrets + secretSecrets),
"settings": {
"envs": [x.replace("-", "_") for x in publicSecrets + secretSecrets ],
"host": fromSecret("ssh-host"),
"port": fromSecret("ssh-port"),
"username": fromSecret("ssh-root-user"),
"password": fromSecret("ssh-root-password"),
"script": [
"set -e"
] +
map(export, publicSecrets + secretSecrets) +
[
"docker network prune -f",
"cd {folder}".format(folder=folder),
"docker stack rm gitea",
"sleep 30",
"docker stack deploy -c {filename} gitea".format(filename = filename),
]
}
}