Drone: Difference between revisions
Jump to navigation
Jump to search
(38 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| | |||
| valign="top" | | |||
'''Linux:''' | |||
export DRONE_HOME=/srv/drone | |||
| valign="top" | | |||
'''MacOS:''' | |||
export DRONE_HOME=$HOME/drone | |||
|} | |||
{| class="wikitable sortable" | |||
|- | |||
! Local location !! Container location !! Usage | |||
|- | |||
| <code>$DRONE_HOME/data</code> || <code>/data</code> || Application data | |||
|} | |||
==Docker== | |||
<syntaxhighlight lang="bash"> | |||
docker run -it --rm \ | |||
--env=DRONE_AGENTS_ENABLED=true \ | |||
--env=DRONE_GITLAB_SERVER=https://academia.chorke.org/gitlab \ | |||
--env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID:-c955d25b77a4fef47fb87cea0b2aba99} \ | |||
--env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET:-ae74931239cc242bdddb063d2c4e1003} \ | |||
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \ | |||
--env=DRONE_SERVER_HOST=10.19.83.10 \ | |||
--env=DRONE_SERVER_PROTO=http \ | |||
--name=drone \ | |||
--detach=true \ | |||
--publish=80:80 \ | |||
--publish=443:443 \ | |||
drone/drone:latest | |||
docker exec -it drone id | |||
docker stop drone | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash"> | |||
docker run -it --rm \ | |||
--env=DRONE_RPC_PROTO=http \ | |||
--env=DRONE_RUNNER_CAPACITY=2 \ | |||
--env=DRONE_RPC_HOST=10.19.83.10 \ | |||
--env=DRONE_RUNNER_NAME=drone-runner \ | |||
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \ | |||
--volume=/var/run/docker.sock:/var/run/docker.sock \ | |||
--detach=true \ | |||
--publish=3000:3000 \ | |||
--name=drone-runner \ | |||
drone/drone-runner-docker:latest | |||
docker exec -it drone-runner id | |||
docker stop drone-runner | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash"> | |||
mkdir -p $DRONE_HOME/{data} | |||
#chown -R 0:0 $DRONE_HOME/ | |||
</syntaxhighlight> | |||
==Server== | |||
===Debian=== | |||
---- | |||
<syntaxhighlight lang="bash" highlight="3-9" line> | |||
docker run \ | |||
--volume ${DRONE_HOME}/data:/data \ | |||
--env=DRONE_AGENTS_ENABLED=true \ | |||
--env=DRONE_GITLAB_SERVER=https://academia.chorke.org/gitlab \ | |||
--env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID:-c955d25b77a4fef47fb87cea0b2aba99} \ | |||
--env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET:-ae74931239cc242bdddb063d2c4e1003} \ | |||
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \ | |||
--env=DRONE_SERVER_HOST=10.19.83.10 \ | |||
--env=DRONE_SERVER_PROTO=http \ | |||
--name=drone \ | |||
--detach=true \ | |||
--publish=80:80 \ | |||
--publish=443:443 \ | |||
--restart=always \ | |||
drone/drone:latest | |||
</syntaxhighlight> | |||
===Fedora=== | |||
---- | |||
<syntaxhighlight lang="bash" highlight="3-9" line> | |||
docker run \ | |||
--volume ${DRONE_HOME}/data:/data:Z \ | |||
--env=DRONE_AGENTS_ENABLED=true \ | |||
--env=DRONE_GITLAB_SERVER=https://academia.chorke.org/gitlab \ | |||
--env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID:-c955d25b77a4fef47fb87cea0b2aba99} \ | |||
--env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET:-ae74931239cc242bdddb063d2c4e1003} \ | |||
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \ | |||
--env=DRONE_SERVER_HOST=10.19.83.10 \ | |||
--env=DRONE_SERVER_PROTO=http \ | |||
--name=drone \ | |||
--detach=true \ | |||
--publish=80:80 \ | |||
--publish=443:443 \ | |||
--restart=always \ | |||
drone/drone:latest | |||
</syntaxhighlight> | |||
==Runner== | |||
===Debian=== | |||
---- | |||
<syntaxhighlight lang="bash" highlight="6-11" line> | |||
docker run \ | |||
--detach=true \ | |||
--restart=always \ | |||
--publish=3000:3000 \ | |||
--name=drone-runner \ | |||
--env=DRONE_RPC_PROTO=http \ | |||
--env=DRONE_RUNNER_CAPACITY=2 \ | |||
--env=DRONE_RPC_HOST=10.19.83.10 \ | |||
--env=DRONE_RUNNER_NAME=drone-runner \ | |||
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \ | |||
--volume=/var/run/docker.sock:/var/run/docker.sock \ | |||
drone/drone-runner-docker:latest | |||
</syntaxhighlight> | |||
===Fedora=== | |||
---- | |||
<syntaxhighlight lang="bash" highlight="6-11" line> | |||
docker run \ | |||
--detach=true \ | |||
--restart=always \ | |||
--publish=3000:3000 \ | |||
--name=drone-runner \ | |||
--env=DRONE_RPC_PROTO=http \ | |||
--env=DRONE_RUNNER_CAPACITY=2 \ | |||
--env=DRONE_RPC_HOST=10.19.83.10 \ | |||
--env=DRONE_RUNNER_NAME=drone-runner \ | |||
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \ | |||
--volume=/var/run/docker.sock:/var/run/docker.sock:Z \ | |||
drone/drone-runner-docker:latest | |||
</syntaxhighlight> | |||
==Drone CLI== | |||
<syntaxhighlight lang="bash"> | |||
cat <<-'EOF' | sudo su | |||
mkdir -p /opt/cli/drone-linux-amd64/bin/ | |||
wget -qO- https://github.com/harness/drone-cli/releases/latest/download/\ | |||
drone_linux_amd64.tar.gz | tar -xzf - -C /opt/cli/drone-linux-amd64/bin/ | |||
chmod +x /opt/cli/drone-linux-amd64/bin/drone | |||
update-alternatives --install /usr/local/bin/drone drone \ | |||
/opt/cli/drone-linux-amd64/bin/drone 1980 | |||
EOF | |||
</syntaxhighlight> | |||
==Playground== | |||
{| | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
mkdir -p ~/Documents/drone-playground/ | |||
cd ~/Documents/drone-playground/ | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
export DRONE_TOKEN=yClIwgxje1hmP7bLSr1Y3vilNgS1ANyG | |||
export DRONE_SERVER=https://cdn.chorke.org | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone user info chorke.academia | |||
drone user ls | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone build ls chorke/academia-core-utility | |||
drone build ls -h | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone registry ls chorke/academia-core-utility | |||
drone registry ls -h | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone secret ls chorke/academia-core-utility | |||
drone secret ls -h | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone deploy -h | |||
drone cron -h | |||
drone exec -h | |||
drone repo -h | |||
drone sign -h | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone secret add \ | |||
-repository chorke/academia-core-utility \ | |||
-data @./cdn.chorke.org/id_ed25519 \ | |||
-name SSH_PRIVATE_KEY \ | |||
-allow-pull-request | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone secret add \ | |||
-repository chorke/academia-core-utility \ | |||
-data '[email protected]' \ | |||
-name DEPLOY_HOST \ | |||
-allow-pull-request | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone secret ls \ | |||
-repository chorke/academia-core-utility | |||
drone orgsecret ls | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
drone secret rm \ | |||
-repository chorke/academia-core-utility \ | |||
-name SSH_PRIVATE_KEY | |||
</syntaxhighlight> | |||
| valign="top" | | |||
|} | |||
==Knowledge== | |||
{| | |||
|valign='top'| | |||
sudo ss -tulwn | grep LISTEN | |||
sudo ss -tulpn | grep LISTEN | |||
sudo ss -tulpn | grep LISTEN | grep sshd | |||
sudo ss -tulpn | grep LISTEN | grep minio | |||
sudo ss -tulpn | grep LISTEN | grep resolve | |||
|valign='top'| | |||
sudo lsof -i -P -n | grep | |||
openssl rand -hex 16 | |||
|valign='top'| | |||
|- | |||
|colspan='3'| | |||
---- | |||
|- | |||
|valign='top'| | |||
|valign='top'| | |||
|valign='top'| | |||
|} | |||
==References== | ==References== | ||
{| | {| | ||
| valign="top" | | | valign="top" | | ||
* [https://community.harness.io/t/resolved-source-code-management-is-not-configured-error/10237 Drone » SCM System not configured] | |||
* [https://docs.drone.io/pipeline/digitalocean/overview/ Drone » Digital Ocean Pipelines] | * [https://docs.drone.io/pipeline/digitalocean/overview/ Drone » Digital Ocean Pipelines] | ||
* [https://docs.drone.io/pipeline/macstadium/overview/ Drone » MacStadium Pipelines] | * [https://docs.drone.io/pipeline/macstadium/overview/ Drone » MacStadium Pipelines] | ||
* [https://docs.drone.io/pipeline/kubernetes/overview/ Drone » Kubernetes Pipelines] | * [https://docs.drone.io/pipeline/kubernetes/overview/ Drone » Kubernetes Pipelines] | ||
* [https://docs.drone.io/pipeline/docker/overview/ Drone » Docker Pipelines] | * [https://docs.drone.io/pipeline/docker/overview/ Drone » Docker Pipelines] | ||
* [https://docs.drone.io/pipeline/exec/overview/ Drone » Exec Pipelines] | * [https://docs.drone.io/pipeline/exec/overview/ Drone » Exec Pipelines] | ||
Line 12: | Line 281: | ||
* [https://docs.drone.io/pipeline/ssh/overview/ Drone » SSH Pipelines] | * [https://docs.drone.io/pipeline/ssh/overview/ Drone » SSH Pipelines] | ||
* [https://docs.drone.io/server/overview/ Drone » Overview] | * [https://docs.drone.io/server/overview/ Drone » Overview] | ||
* [https://docs.drone.io/server/provider/gitlab/ Drone » GitLab] | |||
| valign="top" | | | valign="top" | | ||
* [https://community.harness.io/t/drone-and-gitea-behind-nginx-reverse-proxy-with-docker-compose-yml/10966 Docker Compose » Drone & Gitea] | |||
* [https://hub.docker.com/r/drone/drone/tags Docker Hub » Drone Server] | |||
* [https://hub.docker.com/r/drone/drone-runner-docker/tags Docker Hub » Drone Agent] | |||
* [https://hub.docker.com/search?q=drone/drone&source=community Docker Hub » Drone] | * [https://hub.docker.com/search?q=drone/drone&source=community Docker Hub » Drone] | ||
* [https://github.com/harness/drone/tree/master/docker | * [https://github.com/harness/drone/tree/master/docker Drone » Dockerfile] | ||
* [[HAProxy]] | |||
* [[Docker]] | * [[Docker]] | ||
* [[GitLab]] | * [[GitLab]] | ||
* [[Nginx]] | |||
* [[TMux]] | |||
| valign="top" | | | valign="top" | | ||
* [https://0-8-0.docs.drone.io/setup-with-nginx/ Drone » Nginx Reverse Proxy] | |||
* [https://stackoverflow.com/questions/41330947/ Drone » Create A Secret File] | |||
* [https://docs.drone.io/server/provider/gitlab/ Drone » GitLab » Pipeline] | |||
* [https://docs.oldtimes.me/drone/cli-secret-add/ Drone » CLI » Secret Add] | |||
* [https://docs.drone.io/cli/install/ Drone » CLI Installation] | |||
* [[Drone Pipeline|Drone » Pipeline]] | |||
|- | |- |
Latest revision as of 20:43, 20 October 2024
Linux: export DRONE_HOME=/srv/drone |
MacOS: export DRONE_HOME=$HOME/drone |
Local location | Container location | Usage |
---|---|---|
$DRONE_HOME/data |
/data |
Application data |
Docker
docker run -it --rm \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GITLAB_SERVER=https://academia.chorke.org/gitlab \
--env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID:-c955d25b77a4fef47fb87cea0b2aba99} \
--env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET:-ae74931239cc242bdddb063d2c4e1003} \
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \
--env=DRONE_SERVER_HOST=10.19.83.10 \
--env=DRONE_SERVER_PROTO=http \
--name=drone \
--detach=true \
--publish=80:80 \
--publish=443:443 \
drone/drone:latest
docker exec -it drone id
docker stop drone
docker run -it --rm \
--env=DRONE_RPC_PROTO=http \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RPC_HOST=10.19.83.10 \
--env=DRONE_RUNNER_NAME=drone-runner \
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--detach=true \
--publish=3000:3000 \
--name=drone-runner \
drone/drone-runner-docker:latest
docker exec -it drone-runner id
docker stop drone-runner
mkdir -p $DRONE_HOME/{data}
#chown -R 0:0 $DRONE_HOME/
Server
Debian
docker run \
--volume ${DRONE_HOME}/data:/data \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GITLAB_SERVER=https://academia.chorke.org/gitlab \
--env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID:-c955d25b77a4fef47fb87cea0b2aba99} \
--env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET:-ae74931239cc242bdddb063d2c4e1003} \
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \
--env=DRONE_SERVER_HOST=10.19.83.10 \
--env=DRONE_SERVER_PROTO=http \
--name=drone \
--detach=true \
--publish=80:80 \
--publish=443:443 \
--restart=always \
drone/drone:latest
Fedora
docker run \
--volume ${DRONE_HOME}/data:/data:Z \
--env=DRONE_AGENTS_ENABLED=true \
--env=DRONE_GITLAB_SERVER=https://academia.chorke.org/gitlab \
--env=DRONE_GITLAB_CLIENT_ID=${DRONE_GITLAB_CLIENT_ID:-c955d25b77a4fef47fb87cea0b2aba99} \
--env=DRONE_GITLAB_CLIENT_SECRET=${DRONE_GITLAB_CLIENT_SECRET:-ae74931239cc242bdddb063d2c4e1003} \
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \
--env=DRONE_SERVER_HOST=10.19.83.10 \
--env=DRONE_SERVER_PROTO=http \
--name=drone \
--detach=true \
--publish=80:80 \
--publish=443:443 \
--restart=always \
drone/drone:latest
Runner
Debian
docker run \
--detach=true \
--restart=always \
--publish=3000:3000 \
--name=drone-runner \
--env=DRONE_RPC_PROTO=http \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RPC_HOST=10.19.83.10 \
--env=DRONE_RUNNER_NAME=drone-runner \
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \
--volume=/var/run/docker.sock:/var/run/docker.sock \
drone/drone-runner-docker:latest
Fedora
docker run \
--detach=true \
--restart=always \
--publish=3000:3000 \
--name=drone-runner \
--env=DRONE_RPC_PROTO=http \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RPC_HOST=10.19.83.10 \
--env=DRONE_RUNNER_NAME=drone-runner \
--env=DRONE_RPC_SECRET=58af6e764c227641e80ba91c4692bdd6 \
--volume=/var/run/docker.sock:/var/run/docker.sock:Z \
drone/drone-runner-docker:latest
Drone CLI
cat <<-'EOF' | sudo su
mkdir -p /opt/cli/drone-linux-amd64/bin/
wget -qO- https://github.com/harness/drone-cli/releases/latest/download/\
drone_linux_amd64.tar.gz | tar -xzf - -C /opt/cli/drone-linux-amd64/bin/
chmod +x /opt/cli/drone-linux-amd64/bin/drone
update-alternatives --install /usr/local/bin/drone drone \
/opt/cli/drone-linux-amd64/bin/drone 1980
EOF
Playground
mkdir -p ~/Documents/drone-playground/
cd ~/Documents/drone-playground/
|
export DRONE_TOKEN=yClIwgxje1hmP7bLSr1Y3vilNgS1ANyG
export DRONE_SERVER=https://cdn.chorke.org
|
drone user info chorke.academia
drone user ls
|
| ||
drone build ls chorke/academia-core-utility
drone build ls -h
|
drone registry ls chorke/academia-core-utility
drone registry ls -h
|
drone secret ls chorke/academia-core-utility
drone secret ls -h
|
| ||
drone deploy -h
drone cron -h
drone exec -h
drone repo -h
drone sign -h
|
drone secret add \
-repository chorke/academia-core-utility \
-data @./cdn.chorke.org/id_ed25519 \
-name SSH_PRIVATE_KEY \
-allow-pull-request
|
drone secret add \
-repository chorke/academia-core-utility \
-data '[email protected]' \
-name DEPLOY_HOST \
-allow-pull-request
|
| ||
drone secret ls \
-repository chorke/academia-core-utility
drone orgsecret ls
|
drone secret rm \
-repository chorke/academia-core-utility \
-name SSH_PRIVATE_KEY
|
|
Knowledge
sudo ss -tulwn | grep LISTEN sudo ss -tulpn | grep LISTEN sudo ss -tulpn | grep LISTEN | grep sshd sudo ss -tulpn | grep LISTEN | grep minio sudo ss -tulpn | grep LISTEN | grep resolve |
sudo lsof -i -P -n | grep openssl rand -hex 16 |
|
| ||
References
| ||