GitLab16.8配置webhooks、Jenkins2.4配置GitLab插件实现持续集成、配置宝塔面板实现持续部署

news2024/11/19 1:39:54

看本篇文章的前提是已经部署完GItlab和Jenkins服务器,已经可以手动构建成功,并且经过了很多次实践,对这两款软件基本熟悉。

建议大家按以下顺序看
前端自动化(其一)部署gitlab
https://blog.csdn.net/weixin_45062076/article/details/135690543

前端自动化(其二)部署jenkins、配置环境、连接gitlab
https://blog.csdn.net/weixin_45062076/article/details/135731582

前端自动化(其三)持续集成和持续部署(本章)

  1. Jenkins上下载GitLab插件
    在这里插入图片描述

  2. 进入任务配置页面
    在这里插入图片描述

  3. 进入Gitlab生成访问令牌
    在这里插入图片描述

  4. 回到Jenkins添加这个刚生成的token
    在这里插入图片描述

  5. 进入系统设置,配置Gitlab标签内容
    在这里插入图片描述

  6. 返回Pipeline任务 点击配置 发现已经出现了刚才配置的gitlab token凭据
    在这里插入图片描述

  7. 顺便生成Secret 令牌 一会填进gitlab webhooks
    在这里插入图片描述

  8. 进入gitlab 指定项目内 配置webhooks
    在这里插入图片描述

  9. 配置好webhooks 并且测试连接 200说明Jenkins已经开始构建了
    在这里插入图片描述

  10. 已经自动触发构建
    在这里插入图片描述

  11. 现在只要一向Gitlab推代码 就会触发Jenkins 的自动构建。

  12. 在jenkins服务器上安装宝塔面板,一会准备部署(将jenkins自动构建的项目粘贴到宝塔面板www/wwwroot/文件夹下)。
    https://www.bt.cn/new/download.html
    在终端上输入命令安装宝塔
    if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

  13. 安装宝塔会自动配置防火墙,然后在服务器防火墙上放行 8088(Jenkins网站)和即将部署的其他网站端口。
    在这里插入图片描述

  14. 安装指定插件后新建站点。
    在这里插入图片描述

  15. 之后我们在本地只要将代码推送到我们的Gitlab服务器上,就会自动触发构建,并将构建出来的文件复制到网站根目录。
    在这里插入图片描述

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                // 拉取代码 (IP地址项目名字从Gitlab上获取)
                git 'ssh://git@198.4.1.1:8822/qg-react-wheel/qg-iterative-react-temp.git'
            }
        }

        stage('Build') {
            steps {
                // 安装依赖并构建项目
                sh 'yarn'
                sh 'yarn build'
                
                // 确保目标目录存在,如果不存在则创建
                sh 'mkdir -p /www/wwwroot/qg-iterative-react-temp/'
                
                // 将dist文件夹内容复制到当前服务器的指定路径
                sh 'cp -r dist/* /www/wwwroot/qg-iterative-react-temp/'
            }
        }
    }

    post {
        always {
            // 这里可以添加构建后的操作,比如清理、发送通知等
            echo 'temp-success'
        }
    }
}

在这里插入图片描述

经验积累: gitlab备份恢复后 其实并不能恢复100% 的数据

ERROR: Error cloning remote repo 'origin' 这个错误 有很多种解决方案,对于gitlab备份恢复的情况都不行,需要在Jenkins服务器上git clone ssh~~~ 以下 输入yes 后就好了。。。

希望大家都能够厚积薄发。

祝大家学习和工作愉快

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1417548.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据中心代理IP:最优性价比业务应用指南

数据中心代理IP在应对高速高并发的业务时,以独特的高速传输,游刃有余地应对多任务处理,适合于特定业务场景的高效加速。理性选用数据中心代理IP,可以为业务将迎来更加稳健和迅速的发展。今天,我们将揭示数据中心代理IP…

QT+VS实现Kmeans++

1、Kmeans的原理如下: (1)首先选取样本中任一数据点作为第一个聚类中心; (2)计算样本每一个数据点至现所有聚类中心的最近距离,并记录下来; (3)逐一挑选所…

ATT汇编

指令后缀 AT&T格式的汇编指令有不同的后缀 其中 b表示byte,字节 w表示word,字/两字节 l表示long,32位系统下的long是4字节 q表示quad,意味四重,表示4个字/8字节 寄存器用途 参见 AT&T的汇编世界 - Gemfield…

备战蓝桥杯----数据结构及STL应用(基础2)

上次我们讲了vector的大致内容,接下来让我们讲一下栈,队列吧! 什么是栈呢? 很简单,我们用的羽毛球桶就是,我们取的球,是最后放的,栈是一种先进后出的数据结构。 方法函数 s.push(…

Dubbo框架注册中心-Zookeeper搭建

Dubbo 是阿里巴巴公司开源的高性能、轻量级的Java RPC框架,致力于提供高性能。 Dubbo官网 本篇开始dubbo的第一篇,注册中心 ZooKeeper 环境搭建。 环境前置:由于Zookeeper是基于Java环境,必须安装有JDK。查看命令 java -version。…

蓝桥杯---九数组分数

1,2,3 ... 9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。 代码 public class _05九数组分数 {public static void test(int[] x){int a …

在WebSocket中使用Redis出现空指针异常解决方案

文章目录 在WebSocket中使用Redis1.问题描述2.原因3.解决步骤1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例2.在WebSocketSingleServer.java中导入 在WebSocket中使用Redis 1.问题描述 在controller 和 service中都可以正常使用Redis,在…

03_Opencv简单实例演示效果和基本介绍

视频处理 视频分解图片 在后面我们要学习的机器学习中,我们需要大量的图片训练样本,这些图片训练样本如果我们全都使用相机拍照的方式去获取的话,工作量会非常巨大, 通常的做法是我们通过录制视频,然后提取视频中的每一帧即可! 接下来,我们就来学习如何从视频中获取信息 ubun…

JVM工作原理与实战(三十):堆内存状况的对比分析

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、堆内存状况的对比分析 1.正常情况 2.异常情况(内存泄漏) 二、产生内存溢出的原因 总结 前言 JVM作为Java程序的运行环境,其负责解释和执行字…

【Linux 内核源码分析】多核调度分析

多核调度 SMP(Symmetric Multiprocessing,对称多处理)是一种常见的多核处理器架构。它将多个处理器集成到一个计算机系统中,并通过共享系统总线和内存子系统来实现处理器之间的通信。 首先,SMP架构将一组处理器集中在…

【Fooocus 深度学习】SDXL,AIGC生图,源码解读

文章目录 使用通配符增加prompt多样性Fooocus的风格实现fooocus_expansionclip扩散采样参数 sigmasBrownianTreeNoiseSamplerPatchedjoint samplevae 使用通配符增加prompt多样性 prompt和negative_prompt都可以通过apply_wildcards函数来实现通配符替换,apply_wil…

初识K8S(Kubernetes )

一、概述 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。(官网) Kuberne…

Windows 7 x64 SP1 安装 Google Chrome 109.0.5414.120 (正式版本) (64 位)

1 使用 IE 浏览器 输入网址 Google Chrome 网络浏览器得益于 Google 智能工具,Chrome 现在更易用、更安全、更快速。https://www.google.cn/chrome/,点击下载 Chrome。 2 点击 接受并安装。 3 提示。 4 保存。 5 双击 运行 ChromeSetup.exe。 6 等待安…

用于不对称卷积的验证参数的小程序

非对称卷积的特征图尺寸计算 此处只例举输入图像是正方形的情况。设输入图像尺寸为WxW,卷积核尺寸为ExF,步幅为S,Padding为P,卷积后的特征图尺寸为: 矩形卷积 如果输入图像是正方形,尺寸为WxW&#xff0c…

WSL2 Debian系统添加支持SocketCAN

本人最近在使用WSL2,Linux系统选择的是Debian,用起来很不错,感觉可以代替VMware Player虚拟机。 但是WSL2 Debian默认不支持SocketCAN,这就有点坑了,由于本人经常要使用SocketCAN功能,所以决定让Debian支持…

switch语句详解及底层实现原理

目录 switch 与 if else switch语句用法 switch底层汇编实现分析 switch原理总结 switch 与 if else if else是人工优化的,而switch则是编译器进行优化的 使用场合:命中样本一致,每个case命中概率一样,case的数据必须是线性…

内网安全:RDP WinRS WinRM SPN Kerberos 横向移动

目录 WinRM协议 RDP协议 域横向移动:RDP协议 RDP协议利用 一. 探针服务 二. 获取NTML Hash 明文密码 三. 连接执行 域横向移动:WinRM WinRS WinRM协议、WinRS命令利用 一. cs 内置端口扫描5985 二. 连接执行 三. 上线CS 四. CS插件横向移动…

日常学习之:vue + django + docker + heroku 对后端项目 / 前后端整体项目进行部署

文章目录 使用 docker 在 heroku 上单独部署 vue 前端使用 docker 在 heroku 上单独部署 django 后端创建 heroku 项目构建 Dockerfile设置 settings.pydatabase静态文件管理安全设置applicaiton & 中间件配置 设置 requirements.txtheroku container 部署应用 前后端分别部…

解读BEVFormer,新一代自动驾驶视觉工作的基石

文章出处 BEVFormer这篇文章很有划时代的意义,改变了许多视觉领域工作的pipeline[2203.17270] BEVFormer: Learning Birds-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers (arxiv.org)https://arxiv.org/abs/2203.17270 BEV …

深入理解C语言(3):自定义类型详解

文章主题:结构体类型详解🌏所属专栏:深入理解C语言📔作者简介:更新有关深入理解C语言知识的博主一枚,记录分享自己对C语言的深入解读。😆个人主页:[₽]的个人主页🏄&…