使用 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

Go DevOps大厂运维平台开发进阶实战营的更多相关文章

  1. 北京国际机场T3行李运维平台开发记录

    说明 该项目是一个后台管理型网站项目,供北京国际机场T3航站楼行李调度运维部门使用,开发时间一个半月,我负责所有的前端开发.后端开发.API接口文档设计与编写.服务部署和交付. 整个网站具备的功能有: ...

  2. 实战:阿里巴巴 DevOps 转型后的运维平台建设

    导读:阿里巴巴DevOps转型之后,运维平台是如何建设的?阿里巴巴高级技术专家陈喻结合运维自身的理解,业务场景的分析和业界方法论的一些思考,得出来一些最佳实践分享给大家.   前言   “我是这个应用 ...

  3. 阿里巴巴 DevOps 转型后的运维平台建设

    原文:http://www.sohu.com/a/156724220_262549 本文转载自公众号「DevOps 时代」,高效运维社区致力于陪伴您的职业生涯,与您一起愉快的成长. 作者简介: 陈喻( ...

  4. devops 运维平台相关知识

    1.https://choerodon.io/zh/community/ (代码 https://github.com/choerodon/choerodon) 猪齿鱼 2.https://www.o ...

  5. 用友iuap云运维平台支持基于K8s的微服务架构

    什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大 ...

  6. 【I·M·U_Ops】------Ⅰ------ IMU自动化运维平台设想

    说明本脚本仅作为学习使用,请勿用于任何商业用途.本文为原创,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. #A 搞这个平台的初心 由于之前呆的单位所有IT相关硬件资源都要我们 ...

  7. OMS自动化运维平台部署

    OMS自动化运维平台部署 一.基础环境安装 yum -y install mariadb mariadb-devel mariadb-server wget epel-release python-d ...

  8. (1)Linux常用的运维平台和工具

    运维工程师使用的运维平台和工具包括: Web服务器:apache.tomcat.nginx.lighttpd 监控:nagios.ganglia.cacti.zabbix 自动部署:ansible.s ...

  9. (4)Linux常用的运维平台和工具

    运维工程师使用的运维平台和工具包括: Web服务器:apache.tomcat.nginx.lighttpd 监控:nagios.ganglia.cacti.zabbix 自动部署:ansible.s ...

  10. IoT开发精英实战营招募啦!速来报名!

    具有了向上的力量,才能一眼望到山外的大地,蜿蜒的长河,人类精神的进步. --罗曼·罗兰<爱与死的搏斗> 七月流火,八月未央,九月授衣.说是长长长长的夏天,眨眼间,也早过了立秋而迎来处暑.距 ...

随机推荐

  1. MongoDB 副本集故障情况描述

    副本集有两种类型三种角色 两种类型: 主节点( Primary)类型:数据操作的主要连接点,可读写. 次要(辅助.从)节点( Secondaries)类型:数据冗余备份节点,可以读或选举. 三种角色: ...

  2. 基于python的RSA解密算法

    摘要 网上有很多关于RSA的解密脚本,欧拉函数.欧几里得函数什么的,对于一个大专生的我来说,一窍不通,至此经历了三天三夜,我翻阅了RSA的加密原理,以及其底层算法,专研出了一套我自己的解密算法,尚有不 ...

  3. 3_Nginx

    一. Nginx介绍 1.1 引言 为什么要学Nginx 问题1: 客户端到底要将请求发送给哪台服务器 问题2: 如果所有客户端的请求都发送给了服务器1 问题2: 客户端发送的请求可能是申请动态资源的 ...

  4. NSIS皮肤插件:vcl-styles-plugins

    vcl-styles-plugins简介   NSISVCLStyles  plugin (dll)是一款应用于nsis安装程序的皮肤插件,插件大小约为1.6MB,实际应用在安装程序中压缩后约为550 ...

  5. 一篇文章带你掌握主流服务层框架——SpringMVC

    一篇文章带你掌握主流服务层框架--SpringMVC 在之前的文章中我们已经学习了Spring的基本内容,SpringMVC隶属于Spring的一部分内容 但由于SpringMVC完全针对于服务层使用 ...

  6. centos7搭建安装loki、promtail、Grafana日志系统

    loki.promtail.Grafana安装包 链接:https://pan.baidu.com/s/1vkSa_KYrXM0UEI8i42KdaA 提取码:4d4q 如果安装失败或者下载速度慢可以 ...

  7. 知识图谱顶会论文(ACL-2022) CAKE:用于多视图KGC的可扩展常识感知框架

    CAKE:用于多视图KGC的可扩展常识感知框架.pdf 论文地址:CAKE:Scalable Commonsense-Aware Framework For Multi-View Knowledge ...

  8. Optional用法与争议点

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 要说Java中什么异常最容易出现,我想NullPointerException一定当仁不让,为了解决这种null值 ...

  9. Vue实现离开页面二次确认

    在项目开发中遇到用户编辑内容后未保存推出编辑页面时需要提示用户"当前数据未保存,是否退出",实际开发中利用window.onbeforeunload方法与vue.$on方法在upd ...

  10. .NET7 一个实用功能-中央包管理

    依赖管理是 NuGet 的核心功能.Nuget管理单个项目的依赖关系很容易.管理多项目解决方案的依赖关系可能会变得很困难,因为它们的规模和复杂性开始扩大. 在您管理许多不同项目的公共依赖项的情况下,您 ...