Created by: ston1th 2019-11-14 19:19:40
Updated by: ston1th 2019-12-18 19:01:20
Visibility: Public

Tekton CI CD

Install

Tkn:

curl -s -L https://github.com/tektoncd/cli/releases/download/v0.5.0/tkn_0.5.0_Linux_x86_64.tar.gz >/tmp/tkn_0.5.0_Linux_x86_64.tar.gz
[[ $(sha256sum /tmp/tkn_0.5.0_Linux_x86_64.tar.gz|cut -d" " -f1) = "24b9f16d28350eab730a04ba66f5adffbda9918b4895ac761f67e3310b0fecd9" ]] && {
tar xfz /tmp/tkn_0.5.0_Linux_x86_64.tar.gz -C /usr/bin tkn
rm -rf /tmp/tkn_0.5.0_Linux_x86_64.tar.gz
echo "tkn install successful"
} || echo "checksum invalid"

Pipeline:

mkdir /etc/kubernetes/tekton
curl -s -L https://github.com/tektoncd/pipeline/releases/download/v0.9.2/release.yaml >/etc/kubernetes/tekton/pipeline.yaml

kubectl apply -f /etc/kubernetes/tekton/pipeline.yaml

Dashboard:

curl -s -L https://github.com/tektoncd/dashboard/releases/download/v0.3.0/dashboard-latest-release.yaml >/etc/kubernetes/tekton/dashboard.yaml
cat <<EOF> /etc/kubernetes/tekton/dashboard-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: tekton-dashboard
  namespace: tekton-pipelines
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: tekton.k8s.example.com
    http:
      paths:
      - backend:
          serviceName: tekton-dashboard
          servicePort: 9097
EOF

kubectl apply -f /etc/kubernetes/tekton/dashboard.yaml
kubectl apply -f /etc/kubernetes/tekton/dashboard-ingress.yaml

Triggers:

curl -s -L https://github.com/tektoncd/triggers/releases/download/v0.1.0/release.yaml >/etc/kubernetes/tekton/triggers.yaml

kubectl apply -f /etc/kubernetes/tekton/triggers.yaml