轻量级CI/CD发布部署环境搭建及使用_01_基本介绍

授人以鱼不如授人以渔,如果说的别人都没明白,说明自己实际也不是太明白

最终实现效果如图

1,选择相应环境下的项目,执行构建

注:

web:vue项目

server:java项目

2,pipeline执行的每一步骤及时间

1,适用类型:中小型公司,项目较多,经实际操作,交错发布可支持5个以上项目自动化部署及发布,目前用于发布的项目仅以下
后端:java
前端:vue
2,所需了解和掌握基础技能:docker、linux基本命令
3,涉及相关:portaine(用于images、containers管理)r、docke(虚拟化)r、dockerfile(构建脚本)、jenkins、pipeline脚本、git命令、maven私服、harbor私有镜像库、nginx配置、nodejs配置、jdk配置、jenkins权限插件配置等
4,教程中版本不一可能会导致不可预知的问题,请保持版本一致实验
部署架构图如下(如有错误,请及时指出)
 
图例步骤解释:
1,选择发布的环境:dev为branch,test、pre、prod为tag
2,jenkins中pipeline脚本拉取git仓库中的代码
3,拉取代码后,pipeline脚本会执行预先设定的编译脚本,后端为maven编译,前端vue以npm/cnpm build编译打包
4,编译好后pipeline脚本执行构建docker镜像,并push到harbor当中
5,pipeline脚本执行拉取镜像脚本,从harbor拉取镜像,并发布到指定环境的服务器中并启动
至此,整个发布、部署环境完成
可解决的问题:
1,中小型公司发布、部署人员、时间成本问题
2,生产环境网络隔绝(无外网),可使用离线docker+提前构建完成的镜像安装并发布、部署
缺点:
1,构建的镜像较大500M~1G,(当今硬件资源成本已降,所以此条缺点可忽略)
2,如前端项目中某些参数配置错误、后端服务某些配置项配置错误,(此类错误:构建生产镜像时,没有使用生产的相关配置),需重新构建镜像,较耗时
 
至此,轻量级CI/CD发布部署环境搭建及使用_01_基本介绍,完结
编写不易,如需转载,请注明出处

轻量级CI/CD发布部署环境搭建及使用_01_基本介绍的更多相关文章

  1. Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】

    前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...

  2. Linux(三)—— 项目部署环境搭建

    目录 项目部署环境搭建 一.linux上网 二.rpm包管理 1.光盘挂载 2.安装卸载rpm包 3.查询是否安装 4.查看软件包 5.互相依赖关系的软件包 三.yum包管理 1.使用aliyun的y ...

  3. 搭建面向NET Framework的CI/CD持续集成环境(一)

    前言 网上大多数都是针对主流的Spring Cloud.NET Core的CI/CD方案.但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Cor ...

  4. 搭建面向NET Framework的CI/CD持续集成环境(一)Windows服务器安装Jenkins

    前言 网上大多数都是针对主流的Spring Cloud.NET Core的CI/CD方案.但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Cor ...

  5. Gitea 与 Drone 集成实践:完全基于 Docker 搭建的轻量级 CI/CD 系统

    Drone 是一个使用 Go 语言编写的自助式的持续集成平台,和 Gitea 一样可以完全基于容器部署,轻松扩展流水线规模.开发者只需要将持续集成过程通过简单的 YAML 语法写入 Gitea 仓库目 ...

  6. 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境

    CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...

  7. .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker

    之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都 ...

  8. 从零入门 Serverless | 企业级 CI/CD 工具部署 Serverless 应用的落地实践

    背景知识 通过以往几节课程的学习,相信大家对于 SAE 平台已经有了一定的了解.SAE 为客户免除了很多复杂的运维工作,开箱即用.按用量付费:与此同时 SAE 提供了丰富的 Open API,可以很容 ...

  9. 群晖下 gitea+drone+harbor实现CI/CD 发布到云服务器

    常用命令 sudo -i然后输入密码登录root账户(群晖默认只能使用admin账号登陆) vim xxx编辑(编辑是进去之后按i,退出并保存是按esc,然后:wq!再回车) mkdir xx创建文件 ...

  10. Linux下分布式项目部署环境搭建与使用(druid-1.0.25.jar)数据库连接加密

    一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111- ...

随机推荐

  1. Redis Lettuce长时间超时问题

    1. 背景 新上线了一个服务,在压测的时候大量返回错误,查看报错是io.lettuce.core.RedisCommandTimeoutException: Command timed out aft ...

  2. Spring 6 源码编译和高效阅读源码技巧分享

    一. 前言 Spring Boot 3 RELEASE版本于 2022年11月24日 正式发布,相信已经有不少同学开始准备新版本的学习了,不过目前还不建议在实际项目中做升级,毕竟还有很多框架和中间件没 ...

  3. Burp Suite安装

    1.Burpsuite简介  Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击. Burp Suite 由Java语言编写,基于J ...

  4. JavaScript:箭头函数:作为参数进行传参

    之前已经说过,JS的函数,也是对象,而函数名是一个变量,是可以进行传参的,也即函数是可以被传参的. 只要是函数,都可以被传参,但是箭头函数的语法更为灵活,所以更方便进行传参. 如上图所示,fun1是一 ...

  5. python 集合常用操作

    集合的特性 无序.不重复.可迭代 常用api 创建一个集合 需要显式地使用set()方法来声明,如果使用字面量{}来声明解析器会认为这是一个字典. add() 往集合中添加一个元素 demo = se ...

  6. 使用腾讯云部署war包

    目录 1.前期准备 2.springboot打war包 3.部署war包 4.导入数据库 5.修改Tomcat启动端口 6.启动服务器 7.设置腾讯云服务器防火墙规则 8.从外部访问 9.总结 10. ...

  7. elasticsearch之search template

    一.search template简介 elasticsearch提供了search template功能,其会在实际执行查询之前,对search template进行预处理并将参数填充到templa ...

  8. 浪 - Java

    如果你的计算机还没有安装 Java, 这篇说明很适合你. OpenJDK 下载地址 历史版本归档 环境配置 cd ~/.local wget https://download.java.net/jav ...

  9. 基础分类算法_KNN算法

    KNN(K-NearestNeighbor)算法 KNN算法是有监督学习中的分类算法. KNN算法很特殊,可以被认为是没有模型的算法,也可以认为其训练数据集就是模型本身. KNN算法的原理 KNN的原 ...

  10. TS不能将类型“any[]”分配给类型“never[]”

    一.问题 在处理接口返回的数据,赋值给store中的数组时,报类型错误 data:{ cateList: [] } const getCateList = async () => { const ...