Redhat Developerで提供されているOpenshiftのLearning「Getting Started with OpenShift Pipelines」を試したので、実行した結果をまとめてみます。
Learning概要
このLearningでやること
概要をまとめるとこんな感じです
- Step1: Pipeline Operatorインストール
- Step2: プロジェクトの作成
- Step3: サンプルタスクの作成
- Step4: タスクの作成
- Step5: Pipelineの作成
- Step6: Pipeline実行
- Step7: Deployment確認
留意する事
-
タイムアウトでセッションが切れる場合があります。セッションが切れるとやり直しです
-
ターミナルのコピペはChromeの右クリックからやるとコピペできます。説明のコマンドも右クリックからペーストすると貼れます
-
マニフェストを作成する際、「Visual Editor」でファイルを作成することができます。(しかも、
Ctr + V
のペーストが効きます)
マニフェストを作成する際はこちらの方が楽かもしれないです。
[root@crc-dzk9v-master-0 /]# cd root [root@crc-dzk9v-master-0 root]# ls subscription.yaml [root@crc-dzk9v-master-0 root]# cat subscription.yaml apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: openshift-pipelines-operator namespace: openshift-operators spec: channel: stable name: openshift-pipelines-operator-rh source: redhat-operators
実行結果
Step1: Pipeline Operatorインストール
-
Podの確認
[root@crc-dzk9v-master-0 /]# oc get pods -n openshift-console | grep console console-7c78484b46-vmrlr 1/1 Running 0 2m6s
-
Route確認
root@crc-dzk9v-master-0 /]# oc get routes console -n openshift-console NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD console console-openshift-console.crc-dzk9v-master-0.crc.cwfp6z3ke4xd.instruqt.io console https reencrypt/Redirect None
-
コンソールへアクセス
Step2: プロジェクトの作成
-
プロジェクトを作成する
[root@crc-dzk9v-master-0 /]# oc new-project pipelines-tutorial Now using project "pipelines-tutorial" on server "https://api.crc.testing:6443". You can add applications to this project with the 'new-app' command. For example, try: oc new-app rails-postgresql-example to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application: kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
余談
oc new-project
を実行すると、デフォルトのプロジェクトが作成したプロジェクトに切り替わります。
[root@crc-dzk9v-master-0 /]# oc get pod
No resources found in pipelines-tutorial namespace.
Step3: サンプルタスクの作成
-
マニフェストをapplyする
[root@crc-dzk9v-master-0 /]# oc apply -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/tasks/hello.yaml task.tekton.dev/hello created
-
タスクを実行する
[root@crc-dzk9v-master-0 /]# tkn task list NAME DESCRIPTION AGE hello 4 minutes ago [root@crc-dzk9v-master-0 /]# tkn task start --showlog hello TaskRun started: hello-run-9vpjc Waiting for logs to be available... [say-hello] Hello World
余談
タスクを実行したコンテナが確認できます。
(※2回実行したので、2個になっています)
[root@crc-dzk9v-master-0 /]# oc get pod
NAME READY STATUS RESTARTS AGE
hello-run-9vpjc-pod-2shd5 0/1 Completed 0 27s
hello-run-mvdhf-pod-7zwtx 0/1 Completed 0 5m14s
Step4: タスクの作成
-
タスクをapplyする
[root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/tasks/apply_manifest_task.yaml task.tekton.dev/apply-manifests created [root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/tasks/update_deployment_task.yaml task.tekton.dev/update-deployment created
-
PVCをapplyする
[root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/resources/persistent_volume_claim.yaml persistentvolumeclaim/source-pvc created
-
タスクを確認する
[root@crc-dzk9v-master-0 /]# tkn task ls NAME DESCRIPTION AGE apply-manifests 46 seconds ago hello 1 minute ago update-deployment 37 seconds ago
Step5: Pipelineの作成
-
Pipelineをapplyする
[root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/pipeline/pipeline.yaml pipeline.tekton.dev/build-and-deploy created
Step6: Pipeline実行
-
Pipelineを実行する
[root@crc-dzk9v-master-0 /]# tkn pipeline start build-and-deploy -w name=shared-workspace,claimName=source-pvc -p deployment-name=pipelines-vote-api -p git-url=https://github.com/openshift/pipelines-vote-api.git -p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/vote-api -p git-revision=master --showlog PipelineRun started: build-and-deploy-run-8knfk Waiting for logs to be available... [fetch-repository : clone] + '[' false = true ']' [fetch-repository : clone] + '[' false = true ']' [fetch-repository : clone] + CHECKOUT_DIR=/workspace/output/ [fetch-repository : clone] + '[' true = true ']' [fetch-repository : clone] + cleandir [fetch-repository : clone] + '[' -d /workspace/output/ ']' [fetch-repository : clone] + rm -rf '/workspace/output//*' [fetch-repository : clone] + rm -rf '/workspace/output//.[!.]*' [fetch-repository : clone] + rm -rf '/workspace/output//..?*' [fetch-repository : clone] + test -z '' ~~ ommit ~~
[root@crc-dzk9v-master-0 /]# tkn pipeline start build-and-deploy -w name=shared-workspace,claimName=source-pvc -p deployment-name=pipelines-vote-ui -p git-url=https://github.com/openshift/pipelines-vote-ui.git -p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/vote-ui -p git-revision=master --showlog PipelineRun started: build-and-deploy-run-4fnf9 Waiting for logs to be available... [fetch-repository : clone] + '[' false = true ']' [fetch-repository : clone] + '[' false = true ']' [fetch-repository : clone] + CHECKOUT_DIR=/workspace/output/ [fetch-repository : clone] + '[' true = true ']' [fetch-repository : clone] + cleandir ~~ ommit ~~
-
Pipelineを確認する
[root@crc-dzk9v-master-0 /]# tkn pipelinerun ls NAME STARTED DURATION STATUS build-and-deploy-run-4fnf9 3 minutes ago 1 minute Succeeded build-and-deploy-run-8knfk 6 minutes ago 2 minutes Succeeded