1.4. 组装管道
管道(pipeline)代表一个 CI/CD 流,由要执行的任务定义。它被设计为在多个应用程序和环境中通用且可重复使用。
管道指定任务如何使用 from
和 runAfter
参数相互交互以及它们执行的顺序。它使用 workspaces
字段指定管道中每个任务在执行过程中所需的一个或多个卷。
在本小节中,您将创建一个管道,从 GitHub 获取应用程序的源代码,然后在 OpenShift Container Platform 上构建和部署应用程序。
管道为后端应用程序 pipelines-vote-api
和前端应用程序 pipelines-vote-ui
执行以下任务:
-
通过引用
git-url
和git-revision
参数,从 Git 存储库中克隆应用程序的源代码。 -
使用
buildah
集群任务构建容器镜像。 -
通过引用
image
参数将镜像推送到 OpenShift 镜像 registry。 -
通过使用
apply-manifests
和update-deployment
任务在 OpenShift Container Platform 上部署新镜像。
流程
复制以下管道 YAML 文件示例内容并保存:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pipeline 定义提取 Git 源存储库和镜像 registry 的特定内容。当一个管道被触发并执行时,这些详细信息会作为
params
添加。创建管道:
oc create -f <pipeline-yaml-file-name.yaml>
$ oc create -f <pipeline-yaml-file-name.yaml>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,还可以从 Git 存储库直接执行 YAML 文件:
oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/pipelines-1.12/01_pipeline/04_pipeline.yaml
$ oc create -f https://raw.githubusercontent.com/openshift/pipelines-tutorial/pipelines-1.12/01_pipeline/04_pipeline.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
tkn pipeline list
命令来验证管道是否已添加到应用程序中:tkn pipeline list
$ tkn pipeline list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查输出来验证创建了
build-and-deploy
pipeline:NAME AGE LAST RUN STARTED DURATION STATUS build-and-deploy 1 minute ago --- --- --- ---
NAME AGE LAST RUN STARTED DURATION STATUS build-and-deploy 1 minute ago --- --- --- ---
Copy to Clipboard Copied! Toggle word wrap Toggle overflow