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

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

建议大家按以下顺序看
前端自动化(其一)部署gitlab

前端自动化(其二)部署jenkins、配置环境、连接gitlab

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

  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 anystages {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.hqwc.cn/news/444313.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Wireshark网络协议分析 - UDP协议

在我的博客阅读本文 文章目录 1. 基础2. 实战2.1. 用Go写一个简单的UDP服务器与客户端2.2. Wireshark抓包分析 3. UDP与TCP的区别4. 参考资料 1. 基础 UDP包的数据结构: 2. 实战 2.1. 用Go写一个简单的UDP服务器与客户端 我们这里使用Golang写了一个简单的9830端…

RocketMQ—RocketMQ安装

RocketMQ—RocketMQ安装 在安装RocketMQ之前需要先安装Jdk,并配置JAVA_HOME环境变量。 在安装之前我们要先下载RocketMQ的安装包。 下载 到RocketMQ的官网https://rocketmq.apache.org/ 选择Download。 本文使用4.9.2版本。 将下载页面拉到最后面,有…

【Tomcat与网络6】 Tomcat是如何扩展Java线程池的?

目录 1.Java 的线程池 2.Tomcat 的线程池 学习Tomcat的时候,有很多绚丽的技术值得我们学习,但是个人认为Tomcat的线程池扩展是最值得研究的一个部分,线程池的应用太广了,也重要了,Java原生线程池的特征我相信很多人都…

案例三:U盘提示格式化?3种方法帮你拯救它

在U盘的使用过程中最尴尬的情况就是遇到“无法打开,需要进行格式化”的提示。此时,我们如何才能在不破坏内部数据的情况下,挽救这个U盘呢? 小编今天就和说3个方法,可以用来解决U盘“无法打开,需要进行格式化…

新生儿数创新低,母婴行业如何蹚出转型升级新路子?

902万!这一数据让不少母婴公司眼前一黑。 不久前,国家统计局公布了中国人口最新数据,2023年出生人口902万人,对比上一年956万人的数据我国新生儿人数进一步减少。 新生儿数创新低,是否意味着母婴行业的增长空间越来越…

随时随地,指尖操控:揭秘远程控制APP的便捷之美!

在这个科技日新月异的时代,我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机,你是否也有遇到过需要远程操作自己某一台手机的场景呢?今天,我要向大家推荐一款神奇的手机远程操作神器,让你可以随时随地…

大模型运行成本对比:GPT-3.5/4 vs. 开源托管

在过去的几个月里,生成式人工智能领域出现了许多令人兴奋的新进展。 ChatGPT 于 2022 年底发布,席卷了人工智能世界。 作为回应,各行业开始研究大型语言模型以及如何将其纳入其业务中。 然而,在医疗保健、金融和法律行业等敏感应用…

elementUI实现selecttree自定义下拉框树形组件支持多选和搜索

elementUI实现selecttree自定义下拉框树形组件支持多选和搜索 效果图定义子组件父组件应用 效果图 定义子组件 主要结合el-select和el-tree两个组件改造的。 <template><div class"selectTree"><el-select filterable :filter-method"filterMe…

【Leetcode 514】自由之路 —— 动态规划

514. 自由之路 电子游戏“辐射4”中&#xff0c;任务 “通向自由” 要求玩家到达名为 “Freedom Trail Ring” 的金属表盘&#xff0c;并使用表盘拼写特定关键词才能开门。 给定一个字符串ring&#xff0c;表示刻在外环上的编码&#xff1b;给定另一个字符串key&#xff0c;表…

鱼和熊掌如何兼得?一文解析RDS数据库存储架构升级

在2023年云栖大会上&#xff0c;阿里云数据库产品事业部负责人李飞飞在主题演讲中提到&#xff0c;瑶池数据库推出“DB存储”一体化能力&#xff0c;结合人工智能、机器学习、存储等方法和创新能力&#xff0c;实现Buffer Pool Extension能力和智能冷温热数据分层能力。在大会的…

写静态页面——粘性定位练习

0、效果&#xff1a; 1、HTML代码&#xff1a;为了简洁采用内部样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

怎么恢复回收站清空的文件?这3个方法收藏好!

“着急&#xff01;想问问大家平常如果不小心清空了回收站&#xff0c;有什么比较好的方法可以恢复回收站里的重要文件吗&#xff1f;” 在日常生活中&#xff0c;我们可能会将一些重要的文件或数据误删进回收站&#xff0c;甚至清空了回收站。这些文件可能包含重要的工作文档、…