demo-infra-jenkins-install.sh 1.06 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/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
15
helm install -f values.yaml --namespace demo-infra --kubeconfig ~/.kube/config demo-infra-jenkins stable/jenkins
16 17 18 19 20 21 22 23 24 25 26

# 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 &