This guides to install CI/CD operator. The contents are as follows.
- Install Tekton Pipelines (at least v0.19.0)
- Install Ingress Controller
-
Run the following command to install CI/CD operator
kubectl apply -f https://raw.githubusercontent.com/tmax-cloud/cicd-operator/master/config/release.yaml
-
Enable
CustomTask
feature, disableAffinity Assistant
kubectl -n tekton-pipelines patch configmap feature-flags \ --type merge \ -p '{"data": {"enable-custom-tasks": "true", "disable-affinity-assistant": "true"}}'
-
Ensure ingress-class is set properly
INGRESS_CLASS=<Ingress class you want to use> # e.g., nginx, nginx-shd # Update config map kubectl -n cicd-system patch configmap cicd-config --type merge -p "{\"data\": {\"ingressClass\": \"$INGRESS_CLASS\"}}" # Restart operator kubectl -n cicd-system delete pod $(kubectl -n cicd-system get pod | grep cicd-operator | awk '{print $1}')
-
Wait until
cicd-operator
/blocker
pods are readyIt may take some time until
Ingress
to be ready.
Make sure that you installed an ingress controller and configured ingress-class properly.kubectl -n cicd-system get pod -w
You need an external SMTP server
- Run the following command to create basic-auth secret for SMTP server
SMTP_USERNAME=<SMTP Username> SMTP_PASSWORD=<SMTP Password> kubectl -n cicd-system create secret generic cicd-smtp \ --type='kubernetes.io/basic-auth' \ --from-literal=username=$SMTP_USERNAME \ --from-literal=password=$SMTP_PASSWORD
- Run the following command to enable email-feature and configure SMTP server information
SMTP_HOST=<SMTP server HOST:PORT> k -n cicd-system patch configmaps cicd-config \ --type merge \ -p "{\"data\":{\"enableMail\":\"true\",\"smtpHost\":\"$SMTP_HOST\",\"smtpUserSecret\":\"cicd-smtp\"}}"