Jenkins pipelines on Telekube
This document describes how to use Jenkins pipelines with Telekube.
Glossary
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.
General scheme
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 and tiller
inside it.
Details are not presented, because these parts are closed-source.
On user-side:
Use helm with cluster
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.
Using Jenkins
TODO add info how jenkins works with pipelines and how to build and deploy app