轻量级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. 周结之json补充、正则re模块、hashlib模块、logging模块

    周结 目录 周结 json补充 正则表达式 re模块 第三方模块的下载 request模块 办公自动化openpyxl模块 hashlib加密模块 subprocess模块 logging日志模块 j ...

  2. 一个sql和C#代码结合的分组求和的查询

    业务描述:  业务主表(tab_main 主键 id), 供应商名称(supplier), 金额(amount 需要统计求和),还有分类( 有单独的表categoryid),集中采购标记字段(tend ...

  3. 丧心病狂,竟有Thread.sleep(0)这种神仙写法?

    前言 最近在网上看到了一段代码,让我感到很迷茫.他在代码中使用了 Thread.sleep(0),让线程休眠时间为0秒,具体代码如下. int i = 0; while (i<10000000) ...

  4. 数值计算:前向和反向自动微分(Python实现)

    1 自动微分 我们在<数值分析>课程中已经学过许多经典的数值微分方法.许多经典的数值微分算法非常快,因为它们只需要计算差商.然而,他们的主要缺点在于他们是数值的,这意味着有限的算术精度和不 ...

  5. C/C++语言 MD5例子

    之前研究了一下在C中进行MD5加密,由于找了很久没有找到现成的库文件,所以所幸自己去写了一下.个人感觉C的便捷性没有Python好的原因就是这里. 下面是我写的一个例子. mian.cpp: 点击查看 ...

  6. [python]《Python编程快速上手:让繁琐工作自动化》学习笔记7

    1. 用GUI 自动化控制键盘和鼠标第18章 (代码下载) pyautogui模块可以向Windows.OS X 和Linux 发送虚拟按键和鼠标点击.根据使用的操作系统,在安装pyautogui之前 ...

  7. [R语言] ggplot2入门笔记2—通用教程ggplot2简介

    文章目录 通用教程简介(Introduction To ggplot2) 2 ggplot2入门笔记2-通用教程ggplot2简介 1. 了解ggplot语法(Understanding the gg ...

  8. solidity 内存(memory) 可变数组的增删改查 操作

    // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; library Array { function push(uint256[] memo ...

  9. runtime-第一篇

    第一次接触runtime,先介绍下自学的几个runtime方法 1.获取类的属性列表 先导入runtime文件 #import <objc/runtime.h>   我这边创建了一个Per ...

  10. 關於ctype.h頭文件的一些函數