add Drome.io setup

This commit is contained in:
dancingCycle 2022-11-16 14:47:41 +01:00
parent 98f007699c
commit 605d32534f
3 changed files with 124 additions and 0 deletions

View File

@ -12,3 +12,4 @@
* Install Yarn: ```npm install --global yarn```
* [Install Java](../doc/java.md)
* [Install Maven](../doc/Maven.md)
* [Drone](../doc/drone.md)

118
doc/drone.md Normal file
View File

@ -0,0 +1,118 @@
# Setup Drone
## General
* update your APT cache using
```
sudo apt update
```
* upgrade packages
```
sudo apt upgrade
```
* setup Docker like [this](./docker.md)
* download and install Drone
```
curl -L https://github.com/harness/drone-cli/releases/latest/download/drone_linux_amd64.tar.gz | tar zx
sudo install -t /usr/local/bin drone
```
## Configuration
sudo mkdir -p /etc/drone/
sudo vi /etc/drone/drone.toml
* insert port configuration like this
```
[server]
port=":80"
```
sudo vi /etc/drone/drone.toml
* insert GitHub details like this
```
[github]
client="<enter Client ID from GitHub for this app>"
secret="<enter the Client Secret from GitHub for this app>"
# orgs=[]
# open=false
```
## Drone Server
* download the server like this
```
docker pull drone/drone:latest
```
* verify that the latest server image is downloaded like this
```
docker image ls
```
* start the server like this
```
docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITHUB_CLIENT_ID=your-id \
--env=DRONE_GITHUB_CLIENT_SECRET=super-duper-secret \
--env=DRONE_RPC_SECRET=super-duper-secret \
--env=DRONE_SERVER_HOST=drone.company.com \
--env=DRONE_SERVER_PROTO=https \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:latest
```
* check logs
```
docker logs <container name<
```
## Runners
### Set up Docker Runner
* pull public image like this
```
docker pull drone/drone-runner-docker:latest
```
* start the runner like this
```
docker run --detach \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--env=DRONE_RPC_PROTO=https \
--env=DRONE_RPC_HOST=drone.company.com \
--env=DRONE_RPC_SECRET=super-duper-secret \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RUNNER_NAME=my-first-runner \
--publish=3000:3000 \
--restart=always \
--name=runner \
drone/drone-runner-docker:latest
```
* check logs
```
docker logs <container name<
```
## Links
https://docs.drone.io/cli/install/
https://foxutech.com/how-to-setup-drone/
https://webhookrelay.com/blog/2019/02/11/using-drone-for-simple-selfhosted-ci-cd/
https://laptrinhx.com/how-to-setup-drone-a-continuous-integration-service-in-linux-3923450899/
https://docs.drone.io/server/provider/github/

5
doc/drone.md.license Normal file
View File

@ -0,0 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022 Software Ingenieur Begerad <swingbe.de>
*
* SPDX-License-Identifier: CC0-1.0
*/