4.7. Trigger の Pipeline への追加
Trigger は、Pipeline がプッシュイベントやプル要求などの外部の GitHub イベントに応答できるようにします。アプリケーションの Pipeline をアセンブルし、起動した後に、TriggerBinding、TriggerTemplate、および EventListener を追加して GitHub イベントを取得します。
手順
以下のサンプル
TriggerBinding
YAML ファイルの内容をコピーし、これを保存します。apiVersion: triggers.tekton.dev/v1alpha1 kind: TriggerBinding metadata: name: vote-app spec: params: - name: git-repo-url value: $(body.repository.url) - name: git-repo-name value: $(body.repository.name) - name: git-revision value: $(body.head_commit.id)
TriggerBinding
を作成します。$ oc create -f <triggerbinding-yaml-file-name.yaml>
または、
TriggerBinding
をpipelines-tutorial
Git リポジトリーから直接作成できます。$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/release-tech-preview-2/03_triggers/01_binding.yaml
以下のサンプル
TriggerTemplate
YAML ファイルの内容をコピーし、これを保存します。apiVersion: triggers.tekton.dev/v1alpha1 kind: TriggerTemplate metadata: name: vote-app spec: params: - name: git-repo-url description: The git repository url - name: git-revision description: The git revision default: release-tech-preview-2 - name: git-repo-name description: The name of the deployment to be created / patched resourcetemplates: - apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: name: build-deploy-$(params.git-repo-name)-$(uid) spec: serviceAccountName: pipeline pipelineRef: name: build-and-deploy params: - name: deployment-name value: $(tt.params.git-repo-name) - name: git-url value: $(tt.params.git-repo-url) - name: git-revision value: $(tt.params.git-revision) - name: IMAGE value: image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/$(tt.params.git-repo-name) workspaces: - name: shared-workspace persistentvolumeclaim: claimName: source-pvc
TriggerTemplate
を作成します。$ oc create -f <triggertemplate-yaml-file-name.yaml>
または、
TriggerTemplate
をpipelines-tutorial
Git リポジトリーから直接作成できます。$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/release-tech-preview-2/03_triggers/02_template.yaml
以下のサンプル
EventListener
YAML ファイルの内容をコピーし、これを保存します。apiVersion: triggers.tekton.dev/v1alpha1 kind: EventListener metadata: name: vote-app spec: serviceAccountName: pipeline triggers: - bindings: - ref: vote-app template: name: vote-app
EventListener
を作成します。$ oc create -f <eventlistener-yaml-file-name.yaml>
または、
EvenListener
をpipelines-tutorial
Git リポジトリーから直接作成できます。$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/release-tech-preview-2/03_triggers/03_event_listener.yaml
EventListener サービスを OpenShift Container Platform ルートとして公開し、これをアクセス可能にします。
$ oc expose svc el-vote-app