a5b9e954f7 | ||
---|---|---|
.. | ||
README.md | ||
pipeline.yml | ||
pipelinerun.yml | ||
serviceaccount.yml | ||
triggers.yml |
README.md
Tekton CI
The configurations in this directory are for automating lightwalletd operations using Tekton.
Currently new tags will trigger a docker build and push to https://hub.docker.com/r/electriccoinco/lightwalletd
Testing
Requirements
kind
installeddocker
installed- A Docker Hub account (create a new one if you want, its free!)
Setup
Log into Docker Hub
Just run the command:
docker login
This creates a config.json
file that we're going to send to tekton and contains your Docker Hub password!
More info: https://github.com/tektoncd/pipeline/blob/master/docs/auth.md
Create a kind cluster
kind create cluster --name tekton-testing-zcashd_exporter
Create a Kubernetes secret containing your Docker hub creds
kubectl create secret generic dockerhub-creds \
--from-file=.dockerconfigjson=~/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
Create a service account to use those creds
kubectl apply -f serviceaccount.yml
Install Tekton
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.15.2/release.yaml
kubectl apply -f https://github.com/tektoncd/dashboard/releases/download/v0.9.0/tekton-dashboard-release.yaml
Install the Tekton Catalog tasks
These are predefined tasks from the tektoncd/catalog
collection on github.
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/task/git-clone/0.2/git-clone.yaml
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/task/kaniko/0.1/kaniko.yaml
Create the pipeline
kubectl apply -f pipeline.yml
Edit the PipelineRun
This object holds all of your pipeline instance parameters.
You must edit (unless somehow you got access to my Docker Hub account)
Change electriccoinco
to your Docker Hub account name.
- name: dockerHubRepo
value: electriccoinco/lightwalletd
You can also change the gitTag
and gitRepositoryURL
values if you want to try building off some other commit, or you fork the code to your own repo.
Run the pipeline!
You can do this as many times as you want, each one will create a new pipelinerun.
kubectl create -f pipelinerun.yml
View the dashboard for status
Forward a port from inside the kubernetes cluster to your laptop.
kubectl --namespace tekton-pipelines port-forward svc/tekton-dashboard 9097:9097 &
The browse to http://localhost:9097/#/namespaces/default/pipelineruns