使用 Jenkinsfile 创建流水线
已报名老男孩运维课,见底下评论。enkinsfile 是一个文本文件,它包含 Jenkins 流水线的定义,并被检入源代码控制仓库。Jenkinsfile 将整个工作流存储为代码,因此它是代码审查和流水线迭代过程的基础。有关更多信息,请参见 Jenkins 官方文档。
本教程演示如何基于 GitHub 仓库中的 Jenkinsfile 创建流水线。您可以使用该流水线将示例应用程序分别部署到可从外部访问的开发环境和生产环境。
备注
KubeSphere 中可以创建两种类型的流水线:一种是本教程中介绍的基于 SCM 中 Jenkinsfile 创建的流水线,另一种是通过图形编辑面板创建的流水线。Jenkinsfile in SCM 需要源代码管理 (SCM) 中有内置 Jenkinsfile,换句话说,Jenkinsfile 作为 SCM 的一部分。KubeSphere DevOps 系统会根据代码仓库的现有 Jenkinsfile 自动构建 CI/CD 流水线。您可以定义工作流,例如 stage 和 step。
准备工作
您需要有一个 Docker Hub 帐户和一个 GitHub 帐户。
您需要启用 KubeSphere DevOps 系统。
您需要创建一个企业空间、一个 DevOps 项目和一个用户 (project-regular),需要邀请该用户至 DevOps 项目中并赋予 operator 角色。如果尚未准备就绪,请参见创建企业空间、项目、用户和角色。
您需要设置 CI 专用节点用于运行流水线。请参考为依赖项缓存设置 CI 节点。
您需要安装和配置 SonarQube。请参考将 SonarQube 集成到流水线。如果您跳过这一部分,则没有下面的 SonarQube 分析阶段。
流水线概述
本示例流水线包括以下八个阶段。
备注
阶段 1:Checkout SCM:从 GitHub 仓库检出源代码。
阶段 2:单元测试:待该测试通过后才会进行下一阶段。
阶段 3:SonarQube 分析:SonarQube 代码质量分析。
阶段 4:构建并推送快照镜像:根据策略设置中选定的分支来构建镜像,并将 SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER 标签推送至 Docker Hub,其中 $BUILD_NUMBER 为流水线活动列表中的运行序号。
阶段 5:推送最新镜像:将 SonarQube 分支标记为 latest,并推送至 Docker Hub。
阶段 6:部署至开发环境:将 SonarQube 分支部署到开发环境,此阶段需要审核。
阶段 7:带标签推送:生成标签并发布到 GitHub,该标签会推送到 Docker Hub。
阶段 8:部署至生产环境:将已发布的标签部署到生产环境。
————————————————
版权声明:本文为CSDN博主「wechat_fee1024」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wechat_fee1024/article/details/124045021