drone/.drone/drone-home.yml

635 lines
22 KiB
YAML

---
{
"clone": {
"disable": true
},
"kind": "pipeline",
"name": "register",
"trigger": {
"event": {
"exclude": [
"promote"
]
}
},
"type": "docker"
}
---
{
"clone": {
"disable": true
},
"image_pull_secrets": [
"dockerconfigjson"
],
"kind": "pipeline",
"name": "registry",
"services": [
{
"image": "docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f",
"name": "docker",
"privileged": true,
"volumes": [
{
"name": "dockersock",
"path": "/var/run"
},
{
"name": "ca",
"path": "/etc/docker/certs.d"
},
{
"name": "daemonjson",
"path": "/etc/docker/daemon.json"
}
]
}
],
"steps": [
{
"commands": [
"set -e",
"n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n",
"n=0\nwhile :\ndo\n docker pull drone/drone:2.4.0@sha256:8c1c83ed0f68b00e16ca50b8769e6cf7ccb3c5ff390036eaec7e5fcb79c3cb92 \\\\\n && docker tag drone/drone:2.4.0@sha256:8c1c83ed0f68b00e16ca50b8769e6cf7ccb3c5ff390036eaec7e5fcb79c3cb92 $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone:2.4.0 \\\\\n && docker push $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone:2.4.0 && break\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"initialise failed\"\n exit 1\n fi\n echo \"retrying..$n\"\n sleep 5\ndone\n"
],
"environment": {
"REGISTRY_DOMAIN": {
"from_secret": "registry-domain"
},
"REGISTRY_PASSWORD": {
"from_secret": "registry-password"
},
"REGISTRY_PORT": {
"from_secret": "registry-port"
}
},
"image": "docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f",
"name": "drone/drone:2.4.0",
"volumes": [
{
"name": "dockersock",
"path": "/var/run"
}
]
},
{
"commands": [
"set -e",
"n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n",
"n=0\nwhile :\ndo\n docker pull drone/drone-runner-docker:1.8.3@sha256:31d8534f559b26b76fb292eec957b852999a338cbd48284980cd483c04373f9a \\\\\n && docker tag drone/drone-runner-docker:1.8.3@sha256:31d8534f559b26b76fb292eec957b852999a338cbd48284980cd483c04373f9a $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone-runner-docker:1.8.3 \\\\\n && docker push $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone-runner-docker:1.8.3 && break\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"initialise failed\"\n exit 1\n fi\n echo \"retrying..$n\"\n sleep 5\ndone\n"
],
"environment": {
"REGISTRY_DOMAIN": {
"from_secret": "registry-domain"
},
"REGISTRY_PASSWORD": {
"from_secret": "registry-password"
},
"REGISTRY_PORT": {
"from_secret": "registry-port"
}
},
"image": "docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f",
"name": "drone/drone-runner-docker:1.8.3",
"volumes": [
{
"name": "dockersock",
"path": "/var/run"
}
]
}
],
"trigger": {
"event": [
"promote"
],
"target": [
"registry"
]
},
"type": "docker",
"volumes": [
{
"name": "dockersock",
"temp": { }
},
{
"host": {
"path": "/etc/docker/certs.d"
},
"name": "ca"
},
{
"host": {
"path": "/etc/docker/daemon.json"
},
"name": "daemonjson"
}
]
}
---
{
"clone": {
"disable": true
},
"kind": "pipeline",
"name": "save",
"steps": [
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "mkdir",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace"
],
"script": [
"mkdir -p /stack/.images/drone/built",
"rm -f /stack/.images/drone/*.*",
"rm -f /stack/.images/drone/built/*.*"
]
}
},
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "drone/drone:2.4.0",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"registry_domain",
"registry_port",
"registry_password",
"destination_registry"
],
"script": [
"n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n",
"docker pull $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone:2.4.0",
"docker save $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone:2.4.0 -o /stack/.images/drone/drone_drone:2.4.0.tar",
"echo \"docker load < drone_drone:2.4.0.tar\" >> /stack/.images/drone/load.sh",
"echo \"docker tag $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone:2.4.0 $${DESTINATION_REGISTRY}/stack/drone/drone/drone:2.4.0\" >> /stack/.images/drone/load.sh"
]
}
},
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "drone/drone-runner-docker:1.8.3",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"registry_domain",
"registry_port",
"registry_password",
"destination_registry"
],
"script": [
"n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n",
"docker pull $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone-runner-docker:1.8.3",
"docker save $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone-runner-docker:1.8.3 -o /stack/.images/drone/drone_drone-runner-docker:1.8.3.tar",
"echo \"docker load < drone_drone-runner-docker:1.8.3.tar\" >> /stack/.images/drone/load.sh",
"echo \"docker tag $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/stack/drone/drone/drone-runner-docker:1.8.3 $${DESTINATION_REGISTRY}/stack/drone/drone/drone-runner-docker:1.8.3\" >> /stack/.images/drone/load.sh"
]
}
}
],
"trigger": {
"event": [
"promote"
],
"target": [
"save"
]
},
"type": "docker"
}
---
{
"clone": {
"depth": 0,
"disable": false
},
"kind": "pipeline",
"name": "print",
"steps": [
{
"environment": {
"DOMAIN": {
"from_secret": "domain"
},
"DRONE_GITEA_CLIENT_ID": {
"from_secret": "drone-gitea-client-id"
},
"DRONE_GITEA_CLIENT_SECRET": {
"from_secret": "drone-gitea-client-secret"
},
"DRONE_GITEA_SERVER": {
"from_secret": "drone-gitea-server"
},
"DRONE_RPC_SECRET": {
"from_secret": "drone-rpc-secret"
},
"DRONE_SERVER_HOST": {
"from_secret": "drone-server-host"
},
"REGISTRY_DOMAIN": {
"from_secret": "registry-domain"
},
"REGISTRY_PASSWORD": {
"from_secret": "registry-password"
},
"REGISTRY_PORT": {
"from_secret": "registry-port"
},
"SCHEME": {
"from_secret": "scheme"
},
"SSH_HOST": {
"from_secret": "ssh-host"
},
"SSH_KEY": {
"from_secret": "ssh-key"
},
"SSH_PORT": {
"from_secret": "ssh-port"
},
"SSH_USERNAME": {
"from_secret": "ssh-username"
}
},
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "print env",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"scheme",
"domain",
"registry_domain",
"registry_port",
"drone_gitea_client_id",
"drone_gitea_server",
"drone_server_host",
"ssh_host",
"ssh_username",
"ssh_port",
"drone_gitea_client_secret",
"drone_rpc_secret",
"ssh_key",
"registry_password"
],
"script": [
"rm -f env-drone",
"echo \"export SCHEME='$${SCHEME}'\" >> env-drone # \"scheme\"",
"echo \"export DOMAIN='$${DOMAIN}'\" >> env-drone # \"domain\"",
"echo \"export REGISTRY_DOMAIN='$${REGISTRY_DOMAIN}'\" >> env-drone # \"registry-domain\"",
"echo \"export REGISTRY_PORT='$${REGISTRY_PORT}'\" >> env-drone # \"registry-port\"",
"echo \"export DRONE_GITEA_CLIENT_ID='$${DRONE_GITEA_CLIENT_ID}'\" >> env-drone # \"drone-gitea-client-id\"",
"echo \"export DRONE_GITEA_SERVER='$${DRONE_GITEA_SERVER}'\" >> env-drone # \"drone-gitea-server\"",
"echo \"export DRONE_SERVER_HOST='$${DRONE_SERVER_HOST}'\" >> env-drone # \"drone-server-host\"",
"echo \"export SSH_HOST='$${SSH_HOST}'\" >> env-drone # \"ssh-host\"",
"echo \"export SSH_USERNAME='$${SSH_USERNAME}'\" >> env-drone # \"ssh-username\"",
"echo \"export SSH_PORT='$${SSH_PORT}'\" >> env-drone # \"ssh-port\"",
"echo \"export DRONE_GITEA_CLIENT_SECRET='$${DRONE_GITEA_CLIENT_SECRET}'\" >> env-drone # \"drone-gitea-client-secret\"",
"echo \"export DRONE_RPC_SECRET='$${DRONE_RPC_SECRET}'\" >> env-drone # \"drone-rpc-secret\"",
"echo \"export SSH_KEY='$${SSH_KEY}'\" >> env-drone # \"ssh-key\"",
"echo \"export REGISTRY_PASSWORD='$${REGISTRY_PASSWORD}'\" >> env-drone # \"registry-password\""
]
}
}
],
"trigger": {
"event": [
"promote"
],
"target": [
"print"
]
},
"type": "docker"
}
---
{
"clone": {
"depth": 0,
"disable": false
},
"kind": "pipeline",
"name": "build",
"services": [
{
"image": "docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f",
"name": "docker",
"privileged": true,
"volumes": [
{
"name": "dockersock",
"path": "/var/run"
},
{
"name": "ca",
"path": "/etc/docker/certs.d"
},
{
"name": "daemonjson",
"path": "/etc/docker/daemon.json"
}
]
}
],
"steps": [
{
"commands": [
"set -e",
"export NAME=drone",
"export ROOT=stack",
"n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n",
"sh .drone/build.sh",
"sh .drone/push.sh"
],
"environment": { },
"image": "docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f",
"name": "dockerbuild:",
"volumes": [
{
"name": "dockersock",
"path": "/var/run"
}
]
}
],
"trigger": {
"event": [
"promote"
],
"target": [
"build"
]
},
"type": "docker",
"volumes": [
{
"name": "dockersock",
"temp": { }
},
{
"host": {
"path": "/etc/docker/certs.d"
},
"name": "ca"
},
{
"host": {
"path": "/etc/docker/daemon.json"
},
"name": "daemonjson"
}
]
}
---
{
"clone": {
"disable": true
},
"kind": "pipeline",
"name": "drone-images",
"steps": [
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "mkdir",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace"
],
"script": [
"mkdir -p /stack/.images/drone/drone-images",
"rm -f /stack/.images/drone/drone-images/*.*"
]
}
},
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "docker",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"registry_domain",
"registry_port",
"registry_password"
],
"script": [
"docker pull docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f",
"docker save docker:19.03.12-dind@sha256:8dded163e463f4a59bf305b3dca98e312b2cfb89a43da3872e48f95a7554c48f -o /stack/.images/drone/drone-images/docker.tar",
"echo \"docker load docker.tar\" >> /stack/.images/drone/drone-images/load.sh"
]
}
},
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "scp",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"registry_domain",
"registry_port",
"registry_password"
],
"script": [
"docker pull appleboy/drone-scp:1.6.2@sha256:bd37a55f4b97e7742b0de7333669b96220b3cc422d366e1fa8c34059b736ab47",
"docker save appleboy/drone-scp:1.6.2@sha256:bd37a55f4b97e7742b0de7333669b96220b3cc422d366e1fa8c34059b736ab47 -o /stack/.images/drone/drone-images/scp.tar",
"echo \"docker load scp.tar\" >> /stack/.images/drone/drone-images/load.sh"
]
}
},
{
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "ssh",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"registry_domain",
"registry_port",
"registry_password"
],
"script": [
"docker pull appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"docker save appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea -o /stack/.images/drone/drone-images/ssh.tar",
"echo \"docker load ssh.tar\" >> /stack/.images/drone/drone-images/load.sh"
]
}
}
],
"trigger": {
"event": [
"promote"
],
"target": [
"drone-images"
]
},
"type": "docker"
}
---
{
"clone": {
"depth": 0,
"disable": false
},
"kind": "pipeline",
"name": "deploy",
"steps": [
{
"image": "appleboy/drone-scp:1.6.2@sha256:bd37a55f4b97e7742b0de7333669b96220b3cc422d366e1fa8c34059b736ab47",
"name": "scp",
"settings": {
"command_timeout": "2m",
"source": [
"."
],
"target": "/stack/drone"
}
},
{
"environment": {
"DOMAIN": {
"from_secret": "domain"
},
"DRONE_GITEA_CLIENT_ID": {
"from_secret": "drone-gitea-client-id"
},
"DRONE_GITEA_CLIENT_SECRET": {
"from_secret": "drone-gitea-client-secret"
},
"DRONE_GITEA_SERVER": {
"from_secret": "drone-gitea-server"
},
"DRONE_RPC_SECRET": {
"from_secret": "drone-rpc-secret"
},
"DRONE_SERVER_HOST": {
"from_secret": "drone-server-host"
},
"REGISTRY_DOMAIN": {
"from_secret": "registry-domain"
},
"REGISTRY_PASSWORD": {
"from_secret": "registry-password"
},
"REGISTRY_PORT": {
"from_secret": "registry-port"
},
"SCHEME": {
"from_secret": "scheme"
},
"SSH_HOST": {
"from_secret": "ssh-host"
},
"SSH_KEY": {
"from_secret": "ssh-key"
},
"SSH_PORT": {
"from_secret": "ssh-port"
},
"SSH_USERNAME": {
"from_secret": "ssh-username"
}
},
"image": "appleboy/drone-ssh:1.6.2@sha256:b801dc2cd238c192b6e99acfa7bc3f5b9a03f312bd2feb1e10b3a7a28a1b80ea",
"name": "deploy",
"settings": {
"envs": [
"drone_tag",
"drone_commit",
"drone_build_number",
"drone_repo_name",
"drone_repo_namespace",
"scheme",
"domain",
"registry_domain",
"registry_port",
"drone_gitea_client_id",
"drone_gitea_server",
"drone_server_host",
"ssh_host",
"ssh_username",
"ssh_port",
"drone_gitea_client_secret",
"drone_rpc_secret",
"ssh_key",
"registry_password",
"registry_domain",
"registry_port",
"registry_password",
"scheme"
],
"script": [
"export DRONE_GITEA_CLIENT_SECRET=$${DRONE_GITEA_CLIENT_SECRET}",
"export DRONE_RPC_SECRET=$${DRONE_RPC_SECRET}",
"export SSH_KEY=$${SSH_KEY}",
"export REGISTRY_PASSWORD=$${REGISTRY_PASSWORD}",
"export SCHEME=$${SCHEME}",
"export DOMAIN=$${DOMAIN}",
"export REGISTRY_DOMAIN=$${REGISTRY_DOMAIN}",
"export REGISTRY_PORT=$${REGISTRY_PORT}",
"export DRONE_GITEA_CLIENT_ID=$${DRONE_GITEA_CLIENT_ID}",
"export DRONE_GITEA_SERVER=$${DRONE_GITEA_SERVER}",
"export DRONE_SERVER_HOST=$${DRONE_SERVER_HOST}",
"export SSH_HOST=$${SSH_HOST}",
"export SSH_USERNAME=$${SSH_USERNAME}",
"export SSH_PORT=$${SSH_PORT}",
"export REGISTRY_DOMAIN=$${REGISTRY_DOMAIN}",
"export REGISTRY_PORT=$${REGISTRY_PORT}",
"export REGISTRY_PASSWORD=$${REGISTRY_PASSWORD}",
"export SCHEME=$${SCHEME}",
"set -e",
"export NAME=drone",
"export ROOT=stack",
"cd /stack/drone",
"n=0\nwhile :\ndo\n docker login $${REGISTRY_DOMAIN}:$${REGISTRY_PORT}/ --username client --password \"$${REGISTRY_PASSWORD}\" \\\\\n && break # substitute your command here\n n=$((n+1))\n if [ $n -ge 10 ]; then\n echo \"login failed\"\n exit 1\n fi\n echo \"retrying login..$n\"\n sleep 5\ndone\n",
"sh .drone/pull.sh",
"sh .drone/deploy.sh"
]
}
}
],
"trigger": {
"event": [
"promote",
"promote"
],
"target": [
"deploy",
"production"
]
},
"type": "docker"
}