forked from opendatahub-io/data-science-pipelines
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: Add pipeline yaml for tekton pipeline (kubeflow#459)
In order to run tekton pipeline on IKS, need to define listener, pipeline and task YAMLs. Inside the pipeline YAML, it defines a series of tasks to git clone, run unittest, build images, deploy tekton, deploy kfp-tekton, run e2e test and undeploy. Signed-off-by: Yihong Wang <yh.wang@ibm.com>
- Loading branch information
Showing
5 changed files
with
704 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: TriggerTemplate | ||
metadata: | ||
name: template | ||
spec: | ||
params: | ||
- name: repository | ||
description: The git repo | ||
- name: revision | ||
description: the branch for the git repo | ||
- name: apikey | ||
description: the ibmcloud api key | ||
- name: registry-url | ||
description: ibm container registry url | ||
- name: registry-namespace | ||
description: the ibmcloud registry namespace | ||
- name: region | ||
description: the ibmcloud registry region | ||
default: us-south | ||
- name: org | ||
description: organization | ||
- name: space | ||
description: space | ||
default: dev | ||
- name: resource-group | ||
description: resource group | ||
default: default | ||
- name: docker-username | ||
description: ibm container registry username | ||
default: iamapikey | ||
- name: docker-password | ||
description: iam api key | ||
- name: tekton-version | ||
description: tekton version | ||
- name: tekton-ns | ||
description: tekton namespace | ||
default: tekton-pipeline | ||
- name: kubernetes-cluster | ||
description: cluster name | ||
- name: kubeflow-ns | ||
description: kubeflow namespace | ||
default: kubeflow | ||
resourcetemplates: | ||
- apiVersion: v1 | ||
kind: PersistentVolumeClaim | ||
metadata: | ||
name: pipelinerun-$(uid)-pvc | ||
spec: | ||
resources: | ||
requests: | ||
storage: 5Gi | ||
volumeMode: Filesystem | ||
accessModes: | ||
- ReadWriteOnce | ||
- apiVersion: tekton.dev/v1beta1 | ||
kind: PipelineRun | ||
metadata: | ||
name: pipelinerun-$(uid) | ||
spec: | ||
pipelineRef: | ||
name: pipeline | ||
workspaces: | ||
- name: pipeline-pvc | ||
persistentVolumeClaim: | ||
claimName: pipelinerun-$(uid)-pvc | ||
params: | ||
- name: repository | ||
value: $(params.repository) | ||
- name: revision | ||
value: $(params.revision) | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: registry-url | ||
value: $(params.registry-url) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: region | ||
value: $(params.region) | ||
- name: docker-username | ||
value: $(params.docker-username) | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: resource-group | ||
value: $(params.resource-group) | ||
- name: org | ||
value: $(params.org) | ||
- name: space | ||
value: $(params.space) | ||
- name: tekton-version | ||
value: $(params.tekton-version) | ||
- name: tekton-ns | ||
value: $(params.tekton-ns) | ||
- name: kubernetes-cluster | ||
value: $(params.kubernetes-cluster) | ||
- name: kubeflow-ns | ||
value: $(params.kubeflow-ns) | ||
--- | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: TriggerBinding | ||
metadata: | ||
name: binding | ||
spec: | ||
params: | ||
- name: repository | ||
value: "https://github.com/kubeflow/kfp-tekton" | ||
- name: revision | ||
value: "master" | ||
--- | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: EventListener | ||
metadata: | ||
name: listener | ||
spec: | ||
triggers: | ||
- binding: | ||
name: binding | ||
template: | ||
name: template |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,263 @@ | ||
apiVersion: tekton.dev/v1beta1 | ||
kind: Pipeline | ||
metadata: | ||
name: pipeline | ||
spec: | ||
params: | ||
- name: repository | ||
description: the git repo | ||
- name: revision | ||
description: the revision | ||
default: master | ||
- name: apikey | ||
description: the ibmcloud api key | ||
- name: registry-url | ||
description: ibm container registry url | ||
- name: registry-namespace | ||
description: the ibmcloud registry namespace | ||
- name: docker-username | ||
description: for ibm container registry | ||
default: iamapikey | ||
- name: docker-password | ||
description: iam api key | ||
- name: resource-group | ||
description: resource group | ||
default: default | ||
- name: org | ||
description: organization | ||
- name: region | ||
description: region | ||
- name: space | ||
description: space | ||
- name: tekton-version | ||
description: tekton version | ||
- name: tekton-ns | ||
description: tekton namespace | ||
default: tekton-pipeline | ||
- name: kubeflow-ns | ||
description: kubeflow namespace | ||
default: kubeflow | ||
- name: kubernetes-cluster | ||
description: cluster name | ||
workspaces: | ||
- name: pipeline-pvc | ||
tasks: | ||
- name: test | ||
taskRef: | ||
name: test | ||
params: | ||
- name: repository | ||
value: $(params.repository) | ||
- name: revision | ||
value: $(params.revision) | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: docker-username | ||
value: $(params.docker-username) | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: resource-group | ||
value: $(params.resource-group) | ||
- name: org | ||
value: $(params.org) | ||
- name: region | ||
value: $(params.region) | ||
- name: space | ||
value: $(params.space) | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: build-images-artifact | ||
taskRef: | ||
name: build-images | ||
runAfter: | ||
- test | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: image-name | ||
value: api-server | ||
- name: docker-root | ||
value: . | ||
- name: docker-file | ||
value: "" | ||
- name: registry-url | ||
value: $(params.registry-url) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: docker-username | ||
value: iamapikey | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: run-task | ||
value: artifact | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: build-images-api-server | ||
retries: 1 | ||
taskRef: | ||
name: build-images | ||
runAfter: | ||
- test | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: image-name | ||
value: api-server | ||
- name: docker-root | ||
value: . | ||
- name: docker-file | ||
value: backend/Dockerfile | ||
- name: registry-url | ||
value: $(params.registry-url) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: docker-username | ||
value: iamapikey | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: run-task | ||
value: image | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: build-images-persistenceagent | ||
retries: 1 | ||
taskRef: | ||
name: build-images | ||
runAfter: | ||
- test | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: image-name | ||
value: persistenceagent | ||
- name: docker-root | ||
value: . | ||
- name: docker-file | ||
value: backend/Dockerfile.persistenceagent | ||
- name: registry-url | ||
value: $(params.registry-url) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: docker-username | ||
value: iamapikey | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: run-task | ||
value: image | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: build-images-metadata-writer | ||
retries: 1 | ||
taskRef: | ||
name: build-images | ||
runAfter: | ||
- test | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: image-name | ||
value: metadata-writer | ||
- name: docker-root | ||
value: . | ||
- name: docker-file | ||
value: backend/metadata_writer/Dockerfile | ||
- name: registry-url | ||
value: $(params.registry-url) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: docker-username | ||
value: iamapikey | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: run-task | ||
value: image | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: build-images-scheduledworkflow | ||
retries: 1 | ||
taskRef: | ||
name: build-images | ||
runAfter: | ||
- test | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: image-name | ||
value: scheduledworkflow | ||
- name: docker-root | ||
value: . | ||
- name: docker-file | ||
value: backend/Dockerfile.scheduledworkflow | ||
- name: registry-url | ||
value: $(params.registry-url) | ||
- name: registry-namespace | ||
value: $(params.registry-namespace) | ||
- name: docker-username | ||
value: iamapikey | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: run-task | ||
value: image | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: deploy | ||
taskRef: | ||
name: deploy | ||
runAfter: | ||
- build-images-api-server | ||
- build-images-persistenceagent | ||
- build-images-metadata-writer | ||
- build-images-scheduledworkflow | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: docker-username | ||
value: iamapikey | ||
- name: docker-password | ||
value: $(params.docker-password) | ||
- name: kubernetes-cluster | ||
value: $(params.kubernetes-cluster) | ||
- name: kubeflow-ns | ||
value: $(params.kubeflow-ns) | ||
- name: tekton-version | ||
value: $(params.tekton-version) | ||
- name: tekton-ns | ||
value: $(params.tekton-ns) | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
- name: e2e-test | ||
taskRef: | ||
name: e2e-test | ||
runAfter: | ||
- deploy | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: kubernetes-cluster | ||
value: $(params.kubernetes-cluster) | ||
- name: kubeflow-ns | ||
value: $(params.kubeflow-ns) | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc | ||
finally: | ||
- name: undeploy | ||
taskRef: | ||
name: undeploy | ||
params: | ||
- name: apikey | ||
value: $(params.apikey) | ||
- name: kubeflow-ns | ||
value: $(params.kubeflow-ns) | ||
workspaces: | ||
- name: task-pvc | ||
workspace: pipeline-pvc |
Oops, something went wrong.