《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.10环境中验证
- 创建项目。
$ oc new-project tekton-cicd
- 创建4个Task和Task-4用到的PipelineResource。
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/task-1.yaml
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/task-2.yaml
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/task-3.yaml
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/task-4.yaml
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/git-resources.yaml
$ tkn task list
NAME DESCRIPTION AGE
task-1 37 seconds ago
task-2 24 seconds ago
task-3 18 seconds ago
task-4 12 seconds ago
$ tkn resource list
NAME TYPE DETAILS
git-repo-simple-rest-resource git url: https://github.com/marrober/simpleRest.git
- 进入OpenShift控制台,在“管理员”视图中进入“管道”菜单的“管道”项目,然后在“管道”页面中点击“创建”下拉框中的“管道”,此时显示如下“管道构建器”界面:
- 将Pipeline命名为“my-pipeline”。然后选择上图中的“选择任务”下拉框,选中“task-1”。再选中下图中右侧“+”,从显示的“选择任务”下拉框中选择“task-2”。
- 安装以上操作,依次增加“task-3”和“task-4”。此时task-4提示错误,这是由于它其中使用了Pipeline Resource,但还没有定义。
- 在页面的“资源”区域点击“添加资源”,名称为 task-4-source,资源类型为 Git:
- 选中“task-4”,从右滑的界面中提供“parameter1”的参数值,然后在从“输入资源”中从下拉框中选择“task-4-resource”,并给 parameter1 赋值。最后点击 创建 保存 my-pipeline 的配置。
- 在 my-pipeline 的页面中,从“操作”下拉框中选择“开始”运行这个 Pipeline。
- 在“启动管道”弹出框中点击“开始”按钮,此时 my-pipeline 开始运行。可以在页面中看到执行进度,另外还可在“日志”中查看执行日志。
- 在运行完 my-pipeline 后再执行以下命令创建 Task 使用的 PVC 资源。
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/persistentvolumeclaim.yaml
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/task-5.yaml
$ oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/workshop4/master/attendee/tekton/task-6.yaml
- 在my-pipeline的页面中,从“操作”下拉框中选择“编辑管道”。 然后在“管道构建器”页面中点击“task-3”下方的“+”,然后加入“task-5”;再点击“task-5”右方的“+”,加入“task-6”;最后“保存”配置。
- 再次运行my-pipeline,确认"task-3"和“task-5”可以同时运行。
- 另外“task-4”只在"task-3"和“task-6”都完成运行后才能开始运行。