Added serviceaccount for tekton

This commit is contained in:
Ben Wilson 2020-08-31 09:55:32 -04:00
parent e5c7f50a11
commit a5b9e954f7
2 changed files with 85 additions and 6 deletions

View File

@ -1,13 +1,85 @@
# Tekton CI # Tekton CI
The configurations in this directory are for automating lightwalletd operations using Tekton. 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 Currently new tags will trigger a docker build and push to https://hub.docker.com/r/electriccoinco/lightwalletd
## Required Pipeline tasks ## Testing
- git-clone ### Requirements
Currently sourced from https://github.com/tektoncd/catalog/tree/master/task/git-clone/0.2 - `kind` installed
- kaniko - `docker` installed
Currently sourced from https://github.com/tektoncd/catalog/tree/master/task/kaniko/0.1 - 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

View File

@ -0,0 +1,7 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: ecc-tekton
secrets:
- name: dockerhub-creds