drone-in-minikube
drone-in-minikube copied to clipboard
Run Drone inside minikube
Running Drone in Kuberenetes with Gitea
This is an effort to make it simpler to run Drone in Kuberenetes locally for developing patterns/solutions/drivers for Drone and kuberenetes.
Install minikube
Tool to easily install/setup/manage kubernetes inside virtualbox
https://github.com/kubernetes/minikube
Install kubectl
CLI tool for kubernetes
https://kubernetes.io/docs/user-guide/prereqs/
Create local kubernetes environment
minikube start --cpus 6 --memory 5000
# wait a few minutes
# Setup docker env to use docker in minikube vbox instance
eval #(minikube docker-env)
# See stuff running
kubectl get all
docker ps
Install/Configure gitea
kubectl apply -f gitea-deployment.yaml
kubectl apply -f gitea-service.yaml
# Wait a few minutes for gitea to download and start
kubectl get all
kubectl describe pod gitea
# Get URL to access gitea when everything is up
minikube service gitea --url
We will also need to set a host entry for gitea locally.
echo "$(minikube ip) gitea" >> /etc/hosts
Now login to your gitea instance (from minikube service gitea --url above) to finish setting it up. Create yourself an admin account as well.
Database Type: sqlite3Application URLshould match output ofminikube service gitea --url
Install Drone
kubectl apply -f drone-secrets.yaml
kubectl apply -f drone-configmap.yaml
kubectl apply -f drone-server-deployment.yaml
kubectl apply -f drone-server-service.yaml
kubectl apply -f drone-agent-deployment.yaml
Create a repo
- Login to gitea -
minikube service gitea --url - Create a repo
- Login to Drone -
minikube service drone-server --url - Activate your repo in Drone
- FIX YOUR WEBHOOK
- Go to webhook in gitea for repo you activated
- Change to
http://drone-server:8000/hook?access_token=xxxxx
- Clone the gitea repo and have fun!