From 9127904430253086207fe4331433c1a6011bbc68 Mon Sep 17 00:00:00 2001 From: Giles Bradshaw Date: Mon, 27 Apr 2020 21:17:33 +0100 Subject: [PATCH] . --- .drone-remote.star | 79 ++++++++++++++++++++++++++++++++ drone-starlark/repos/deploy.star | 41 ++++++++++++++++- 2 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 .drone-remote.star diff --git a/.drone-remote.star b/.drone-remote.star new file mode 100644 index 0000000..01c0c70 --- /dev/null +++ b/.drone-remote.star @@ -0,0 +1,79 @@ +load("@this//:from-secret.star", "fromSecret") +load("@this//:print-secrets.star", "printSecrets") + +load("@this//:map.star", "map") +load("@this//:environment.star", "environment") +load("@this//:echo.star", "echo") +load("@this//:export.star", "export") +load("@this//:echo-secret.star", "echoSecret") +load("@this//:wait.star", "wait") +load("@this//:build.star", "build") +load("@this//:scp.star", "scp") +load("@this//:public-secrets.star", "publicSecrets") +load("@this//:secret-secrets.star", "secretSecrets") +load("@this//:pull.star", "pull") +load("@this//:deploy.star", "deploy") +load("@this//:build-folder.star", "buildFolder") +load("@this//:build-docker-folder.star", "buildDockerFolder") +load("@this//:pipeline.star", "pipeline") + +def main(ctx): + if ctx.build.branch == 'remote': + return [ + pipeline( + 'home-deploy', + [ + printSecrets( + "env-stack", + publicSecrets, + secretSecrets, + ), + wait(15, "wait"), + build("guacamole-postgresql"), + build("ngrok-gitea"), + build("letsencrypt-nginx"), + build("drone-starlark"), + buildDockerFolder( + "Dockerfile.drone", + "$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx", + "$${LOCAL_DOCKER_REGISTRY}letsencrypt-drone", + "letsencrypt-nginx", + "drone", + ), + buildDockerFolder( + "Dockerfile.remote", + "$${LOCAL_DOCKER_REGISTRY}letsencrypt-nginx", + "$${LOCAL_DOCKER_REGISTRY}letsencrypt-remote", + "letsencrypt-nginx", + "remote", + ), + scp("~/gitea-drone-stack"), + pull([ + "letsencrypt-drone", + "letsencrypt-remote", + "drone-starlark", + "guacamole-postgresql", + ]), + deploy( + "docker-compose-remote.yml", + "/home/giles/gitea-drone-stack", + ), + ], + [], + [ + { + "name": "ca", + "host": { + "path": "/home/giles/gitea-drone-stack/.ca", + }, + } + ], + [ + { + "name": "ca", + "path": "/etc/docker/certs.d", + }, + ] + ), + ] + \ No newline at end of file diff --git a/drone-starlark/repos/deploy.star b/drone-starlark/repos/deploy.star index f2a2a64..195c925 100644 --- a/drone-starlark/repos/deploy.star +++ b/drone-starlark/repos/deploy.star @@ -9,7 +9,46 @@ def deploy( filename, folder, ): - return { + return {if ctx.build.branch == 'do': + 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", + ), + ], + [], + [], + [], + ), + ] + "name": "deploy", "image": "appleboy/drone-ssh", "environment": environment(publicSecrets + secretSecrets),