- Setup Kubernetes Ccuster
- Install and configure kubectl
- Install helm
- Add Jenkins helm repo (
helm repo add jenkins https://charts.jenkins.io
) - Create Github OAuth application
-
Create the Persisten Volume Claim for persisting configurations settings
kubectl apply -f <PVC definition file> kubectl apply -f storage.yaml
-
Create the Jenkins Configuration Secret with Github OAuth Client ID and Secret
kubectl create secret <secret name> generic --from-literal=GITHUB_CLIENT_ID=<Github Client ID> --from-literal=GITHUB_CLIENT_SECRET=<Github Client Secret> kubectl create secret jenkins-config-secret generic --from-literal=GITHUB_CLIENT_ID=######### --from-literal=GITHUB_CLIENT_SECRET=#########
-
Install Jenkins using the helm chart
helm install <instance-name> <chart> -f <configuration overrides file> helm install jenkins-demo jenkins/jenkins -f values.yaml
-
Get the LoadBalancer Ingress IP
kubectl describe service <service name> kubectl describe service jenkins-demo
-
Create/Update the Github OAuth application with Ingress IP
https://github.com/settings/applications/<Application ID>
-
Open Jenkins
http://<Ingress IP>:80/login