#!/bin/sh __is_pod_ready() { POD_STATUS="False" while [ "$POD_STATUS" != "True" ]; do echo "waiting for pod..." sleep 5 POD_STATUS=$(kubectl get pods --namespace demo-infra -l "app.kubernetes.io/component=jenkins-master" -l "app.kubernetes.io/instance=demo-infra-jenkins" -o jsonpath='{..status.conditions[?(@.type=="Ready")].status}') done } # install jenkins helm install -f values.yaml --namespace demo-infra --kubeconfig ~/.kube/config demo-infra-jenkins stable/jenkins # wait for it to become ready __is_pod_ready # print admin password export JENKINS_PASS=$(kubectl get secret --namespace demo-infra demo-infra-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode) echo "HOST: http://192.168.1.194:8180 USERNAME: admin PASSWORD: $JENKINS_PASS" # expose export POD_NAME=$(kubectl get pods --namespace demo-infra -l "app.kubernetes.io/component=jenkins-master" -l "app.kubernetes.io/instance=demo-infra-jenkins" -o jsonpath="{.items[0].metadata.name}") kubectl --namespace demo-infra port-forward $POD_NAME 8180:8080 --address 0.0.0.0 &