This document describes how to use Jenkins pipelines with Telekube.
Jenkins
- open source automation server, see https://jenkins.io/.Telekube OpsCenter
- application catalog, which keeps Kubernetes package for deployment on any infrastructure. Part of telekube.tube
- Kubernetes charts repository application.tsh
- used to login into remote SSH nodes, part of teleport.helm
- client for managing Kubernetes charts and repositories, part of helm.tiller
- server for executing deployments throught Kubernetes API, part of helm.- Kubernetes charts - packages of pre-configured Kubernetes resources.
To achieve the same result, you must complete several actions.
On infrastructure side:
- Get
Telekube OpsCenter
up and running. TODO where install tube? - Deploy
tube
on opscenter node, add Jenkins Chart to it. - Create cluster using
k8s
application, you can use on-premisise or AWS infrastructure. It will spin up kubernetes andtiller
inside it.
Details are not presented, because these parts are closed-source.
On user-side:
- Download
helm
, use latest master from sources https://github.com/kubernetes/helm. - Download
tsh
, see http://gravitational.com/teleport/docs/quickstart.
Initialize helm
on local machine:
helm init --client-only
Then add tube
repository to local helm repositories:
TODO: add info how to get proper certificates
helm repo add --ca-file="$HELM_CERTPATH/ca-tube.gravitational.io.pem" \
--cert-file="$HELM_CERTPATH/client-tube.gravitational.io.pem \
--key-file="$HELM_CERTPATH/client-key-tube.gravitational.io.pem" \
tube.gravitational.io https://tube.gravitational.io:443/charts
helm repo update
Install jenkins using tube
repository
TODO whats the url of tube?
helm install --debug -f chart-values/jenkins-values.yaml tube/jenkins
After installation some NOTES will be shown -- read it carefully.
TODO add info how jenkins works with pipelines and how to build and deploy app