配置自动化部署Jenkins和Gitea

news2025/2/25 19:19:46

配置自动化部署

这里使用的是Jenkins+Gitea

如果不知道怎么安装Jenkins和Gitea可以参考下面文章

https://blog.csdn.net/weixin_46533577/article/details/134644144

我的另一篇文章

介绍

前端

先说下自己的情况,因为自己服务器原因,使用的服务器内存太小只有4g,如果这时候再使用npm run build进行打包时会出现卡死,因为占用内存会比较多所以会很卡,导致访问服务器时卡顿非常严重,比如有些服务无法访问等。

在下面的介绍中,我将使用本地打包的方式,打包完成后在推送到服务器上,如果你的服务器性能出色可以我也将在这里介绍如何在服务器中线上打包。

除此之外线下打包之后推送好处是,节省了服务器的内存消耗,因为打包所以要下载相关的包npm install命令有些包会有好几个G这样,对于普通用户的服务器最大可能就40G-70G这样几个项目就消耗了十几个G。损耗很大。

后端

这里以前端为例,后端还需要下载maven插件

前提简要

在CentOS 7上切换到中文,可以按照以下步骤进行操作:

  1. 安装中文语言支持:打开终端,并使用yum包管理器安装中文语言支持。运行以下命令:

    sudo yum groupinstall "Chinese Support"
    

    这将安装中文语言包和输入法支持。

  2. 配置系统语言:在终端中运行以下命令来配置系统默认语言:

    sudo localectl set-locale LANG=zh_CN.UTF-8
    

    这将将系统的默认语言设置为简体中文。

  3. 重新登录:注销当前用户并重新登录,以使语言设置生效。

下载安装必要插件

下载插件

这里需要下载的插件有:

Blue Ocean
Ant Plugin
Git plugin
GitHub plugin
Generic Webhook Trigger Plugin
Git server Plugin
NodeJS Plugin
Maven Integration plugin

在这里插入图片描述

这几个插件包含了,git的相关推送、前端使用的nodejs、

安装插件

点击搜索插件之后进行安装

在这里插入图片描述

勾选插件之后进行安装,因为我这里都已经安装过了,在这边我只是举例说明下,貌似也找不到想装的插件了,就随便举个例子怎么下载

在这里插入图片描述

在下载时会有些慢,但是没有关系最后会下载好的,有没有疑问?为什么在下载时候就勾选了一个,但是到了下载界面会有很多个?

因为在下载时这些都是捆绑包,所以会很多。

推荐点击下面的安装完成后重启Jenkins,反正都是要重启的

在这里插入图片描述

之后会显示正在重启

在这里插入图片描述

插件升级,在这个板块中可以查询是否有可以升级的插件,有的话可以自行升级

在这里插入图片描述

完成后的样子

在这里插入图片描述

开始搭建

创建Gitea仓库

如果自己知道怎么创建仓库可以跳过这个步骤,说实话这个说起来有点多余。

在这里插入图片描述

之后按照这个步骤创建仓库

在这里插入图片描述

将内容推送到服务器上,因为怕有人恶意攻击,所以把地址栏遮起来了?

在这里插入图片描述

之后推送,如果你想和我一样设置多仓库推送,比如之前就已经存在了但是想再设置一个可以输入以下命令

git remote set-url --add origin 你的地址

之后去Gitea上复制地址

在这里插入图片描述

新建项目

点击新建Item

在这里插入图片描述

输入你的名称,点击第一个根据自己需求来设置,如果你是前端项目点击第一个即可,当然流水线也是可以但是有些麻烦这里就不介绍了。

建议设置成英文,因为后面会设置触发器中文感觉有些不靠谱

在这里插入图片描述

这里举个例子

在这里插入图片描述

点击创建项目后

输入必要的信息

在这里插入图片描述

填写令牌可以自定义,这个用于后面推送触发,如果这里不设置,但是你想要推送时候触发还是要设置,不如在这里直接设置。

名字不建议中文

在这里插入图片描述
在这里插入图片描述

触发器地址,格式内容为下面所显示的。

这里的地址为

在这里插入图片描述

 http://你的服务器地址/generic-webhook-trigger/invoke?token=输入框中的token

举个例子

http://bunny.com:8080/generic-webhook-trigger/invoke?token=bunnybbs-server

token就是输入框输入的名字

之后选择增加构建步骤

在这里插入图片描述

之后选择这个,根据自己需求来,如果你是Linux就选择这个毕竟比较熟悉Linux命令

在这里插入图片描述

这里建议先删除下,因为很多时候推送,如果存在了会覆盖,但是防止出错建议先删除,根据自己想法和需求操作。

建议每个命令分开写下防止构建之后出错什么的

在这里插入图片描述

操作服务器

查看下Jenkins所在的目录,我的目录在这里,之后进入到你的目录中去。

当然这时候你所想要的目录并不存在!!!

因为我们还没有构建所以看不到自己新建的目录,比如这篇文章所说的bunnybbs-server这个目录。

所以这时候要假想这个目录存在,或者你先构建下让代码拉倒这里这个目录下就会显示了。

比如前端目录会有打包好的dist目录或者是build目录

# 先删除原有目录。这里根据需求来
rm -rf  /www/wwwroot/BunnyBBS/test
# 之后将推送的目录复制到自己需要的目录下
cp -a /root/.jenkins/workspace/bunnybbs-server/dist /www/wwwroot/BunnyBBS/test

在这里插入图片描述

点击保存

在这里插入图片描述

打开 Blue Ocean

当一切设置好后回到首页,点击Blue Ocean

在这里插入图片描述

点击创建的项目

在这里插入图片描述

点击运行,但是你们是第一次创建这个项目所以页面会出现弹窗,反正只要点击运行就行了。

如果不运行的话,后面设置推送无法完成也看不到效果!!!

在这里插入图片描述

等待拉取完成,这时候不妨去设置下web钩子(webhooks)不妨碍当前进程和操作

在这里插入图片描述

完成后的界面

在这里插入图片描述

这时候查看服务器中文件,会发现刚刚构建的文件在这里,点击去查看,已经被推送过来了

在这里插入图片描述
在这里插入图片描述

设置web钩子

点击设置

在这里插入图片描述

添加钩子

在这里插入图片描述
将之前所说的地址复制到这里,规则既是上面所述的规则
在这里插入图片描述

在这里插入图片描述

点击激活钩子即可

在这里插入图片描述

点击这个链接进入

在这里插入图片描述
点击测试推送

在这里插入图片描述

之后就可以了

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

滴滴打车崩了!全过程

滴滴发布致歉10元补偿券,文末可领取 。 事情发生于 2023年11月27日晚~28日中午,滴滴打车服务出现大面积故障,登上微博热搜。 许多用户在使用滴滴出行时遇到了无法叫车、订单异常等问题,导致大量用户滞留在外,出行受阻…

极速整理文件!Python自动化办公新利器

更多资料获取 📚 个人网站:ipengtao.com 当涉及到自动化办公和文件整理,Python确实是一个强大的工具。在这篇博客文章中,我将深入探讨《极速整理文件!Python自动化办公新利器》这个话题,并提供更加丰富和全…

基于单片机智能电子密码锁设计

**单片机设计介绍,基于单片机智能电子密码锁设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能电子密码锁设计是一种利用单片机(如Arduino、Raspberry Pi等)和相关电子元件来…

【鲁班猫创意大赛2期】基于鲁班猫的幼儿Al监督系统

【鲁班猫创意大赛2期】基于鲁班猫的幼儿Al监督系统 作品介绍 本作品名称为“基于鲁班猫的幼儿 Al 学习助手”(系统总体框图如下图),作品应用群体为幼儿群体,主要功能:通过实时坐姿检测,防止坐姿不端正导致…

基于BP神经网络的手写体数字识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 filename dir(images\*.bmp); %图像文件格式 load BP.matfilename dir(test\*.bmp); …

深入理解堆排序:建堆、排序与优化

引言 在计算机科学中,堆排序是一种高效的排序算法,利用堆的数据结构特性进行排序。本文将深入探讨堆排序的原理、实现过程,并介绍一种优化方法,以帮助读者更好地理解和运用这一经典算法 目录 堆排序简介 1.1 什么是堆排序&#x…

【精选】VulnHub red 超详细过程思路

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

k8s-daemonset、job、cronjob控制器 6

Daemonset控制器(一个节点部署一个) 、 创建Daemonset控制器 控制节点上不能进行部署,有污点 解决方式: 扩容节点,token值过期的解决方法: 回收pod job控制器 需要使用perl镜像,仓库没有&…

PyQt基础_009_ 按钮类控件QSlider

基本功能 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class SliderDemo(QWidget):def __init__(self, parentNone):super(SliderDemo, self).__init__(parent)self.setWindowTitle("QSlider 例子") self.resize…

优雅测试代码:使用Go实现高效单元测试!

简介 日常开发中, 测试是不能缺少的. Go 标准库中有一个叫做 testing 的测试框架, 可以用于单元测试和性能测试. 它是和命令 go test 集成使用的. 测试文件是以后缀 _test.go 命名的, 通常和被测试的文件放在同一个包中. 单元测试 单元测试的格式形如: func TestAbs(t *t…

Stable Diffusion绘画系列【6】:东方美学作品

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推荐--…

速记:一个保险丝检测电路

一个保险丝检测电路 保险丝熔断:红灯亮 保险丝正常:绿灯亮 同样的,仿真中的指示灯可以换成其他指示器件。

谨慎Apache-Zookeeper-3.5.5以后在CentOS7.X安装的坑

目录 前言 一、现场还原 二、问题诊断 三、问题原因 总结 前言 最近由于项目需要,在服务器上需要搭建Hbase完全分布式集群环境。开发环境,采用的是最小节点的方式进行搭建(即3个节点的模式)。资源环境列表如下: 序号…

go学习之文件操作与命令行参数

文章目录 一、文件操作1.基本介绍2.常用文件操作函数和方法3.关于文件操作应用实例4.写文件操作应用实例(创建文件并写入文件)1)基本介绍2)基本应用实例-方式一 5.判断文件是否存在6.统计英文、数字、空格和其他字符数量 二、命令…

Bert-VITS2本地部署遇到的错误

关于Bert-VITS2本地部署遇到的错误 1、在下载python中相关依赖时报错 building ‘hdbscan._hdbscan_tree’ extension error: Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools”: https://visualstudio.microsoft.com/visual-cpp-bu…

如何在安防视频监控平台EasyCVR首页增添统计设备每个小时的温度展示功能?细节如下

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

人工智能对人脑的探索研究!物理限制推动类脑人工智能的发展

原创 | 文 BFT机器人 在一项开创性的研究中,剑桥科学家采用了一种新颖的人工智能方法,展示了物理约束如何深刻影响了人工智能系统的发展。 这项研究会让人想起人脑的发育和能力限制,为复杂神经系统的进化提供了新的见解。通过整合这些限制&a…

基于YOLOv5的人群计数系统设计系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结  总结 一项目简介 基于YOLOv5的人群计数系统设计是一个非常有趣且具有挑战性的项目…

输入通道数 和 输出通道数 的理解

输入通道数(in_channels)输出通道数(out_channels) 在卷积神经网络中通常需要输入 in_channels 和 out_channels ,即输入通道数和输出通道数,它们代表什么意思呢? 输入通道数(in_c…

前端笔试遇到的坑-100题

1.闭包 let 形成闭包 var全局变量 function test() {for (var i 0; i < 6; i) {console.log(i); //1 2 3 4 5 6// setTimeout(() > {// console.log(i);// }, 0); 6 6 6 6 6 6 6} } test();var array []; for (var i 0; i < 3; i) {array.push(() > i);…