Build Jenkins with plugins on GKE. Refer to the Pipelines with podTemplate
in https://github.com/DevSecOpsSamples/jenkins-pipeline.
COMPUTE_ZONE="us-central1"
PROJECT_ID="sample-project" # replace with your project
gcloud config set project ${PROJECT_ID}
gcloud config set compute/zone ${COMPUTE_ZONE}
Create an Autopilot GKE cluster. It may take around 9 minutes.
gcloud container clusters create-auto jenkins-dev --region=${COMPUTE_ZONE}
gcloud container clusters get-credentials jenkins-dev
Create and deploy K8s Deployment, Service, Volume, Ingress, and GKE BackendConfig using a template file.
sed -e "s|<project-id>|${PROJECT_ID}|g" jenkins-master-template.yaml > jenkins-master.yaml
cat jenkins-master.yaml
kubectl apply -f jenkins-master.yaml
Confirm Jenkins credential from logs:
kubectl describe pods jenkins-master
kubectl logs -l app=jenkins-master
LB_IP_ADDRESS=$(gcloud compute forwarding-rules list | grep jenkins-master | awk '{ print $2 }')
echo ${LB_IP_ADDRESS}
curl http://${LB_IP_ADDRESS}/
kubectl delete -f jenkins-master.yaml
docker system prune -a