配置自动化部署Jenkins和Gitea

配置自动化部署

这里使用的是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钩子

点击设置

在这里插入图片描述

添加钩子

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

在这里插入图片描述

点击激活钩子即可

在这里插入图片描述

点击这个链接进入

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

在这里插入图片描述

之后就可以了

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Win10系统无法登录Xbox live的四种解决方法

在Win10系统中,用户可以登录Xbox live平台,畅玩自己喜欢的游戏。但是,有用户却遇到了无法登录Xbox live的问题。接下来小编给大家详细介绍四种简单的解决方法,解决后用户在Win10电脑上就能成功登录上Xbox live平台。 Win10系统无法…

短 URL 生成器设计:百亿短 URL 怎样做到无冲突?

Java全能学习面试指南:https://javaxiaobear.cn 我们先来看看,当高并发遇到海量数据处理时的架构。在社交媒体上,人们经常需要分享一些 URL,但是有些 URL 可能会很长,比如: https://time.geekbang.org/hyb…

水离子水壁炉的科技创新与时尚家居潮流

近年来,水离子水壁炉作为家居装饰的新宠儿,正在以其独特的科技创新和时尚设计引领家居潮流。这一新型壁炉不仅注重外观美感,更借助先进科技实现了温馨的火焰效果,成为现代家居中的独特亮点。 水离子水壁炉的科技创新主要体现在其采…

【Mysql学习笔记】3 - 本章作业

1.判断 1. 这句话表示ename as name 可以不要这个as&#xff0c;同理后面的sal salary也是别名&#xff0c;而选项D的Annual Salary中间也有空格&#xff0c;程序会判断为as 但as不能连用&#xff0c;所以错误&#xff0c;选D 2.选B&#xff0c;因为null不能加上判断符号<&…

Stable Diffusion绘画系列【7】:极致东方美学

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

leetCode 131.分割回文串 + 回溯算法 + 图解 + 笔记

131. 分割回文串 - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串 示例 1&#xff1a; 输入&#xff1a;s "aa…

RabbitMQ消息模型之Work Queues

Work Queues Work Queues&#xff0c;也被称为&#xff08;Task Queues&#xff09;&#xff0c;任务模型&#xff0c;也是官网给出的第二个模型&#xff0c;使用的交换机类型是直连direct&#xff0c;也是默认的交换机类型。当消息处理比较耗时的时候&#xff0c;可能生产消息…

F. Magic Will Save the World

首先积攒了能量打了怪再积攒是没有意义的&#xff0c;可以直接积攒好&#xff0c;然后一次性进行攻击 那么怎么进行攻击了&#xff1f;可以尽量的多选怪物使用水魔法攻击剩余的再用火魔法进行攻击&#xff0c; 也就是只要存在合法的体积&#xff08;即装入背包的怪物的体积之…

Docker、Kubernetes、OCI、CRI-O、containerd、runc 之间的关系以及它们是如何一起工作的?

最近网上看到一张图片&#xff0c;能够很清晰地展现出 Docker、Kubernetes、OCI、CRI-O、containerd、runc 之间的关系以及它们是如何在一起工作的&#xff0c;如下&#xff1a; 本文可以作为之前一篇文章&#xff08;《K8s、Docker、CRI、OCI 之间的爱恨情仇》&#xff09;的…

Echarts的引入使用

ECharts文档 1.下载并引入Echarts 2.准备一个具备大小的DOM容器 3.初始化echarts实例对象 4.指定配置项和数据(option) 5.将配置项设置给echarts实例对象 最后是一个js文件 echarts的引入 1.引入echarts - js 文件 <script src"js/echarts.min.js"></scri…

【新手解答1】深入探索 C 语言:变量名、形参 + 主调函数、被调函数 + 类和对象 + 源文件(.c 文件)、头文件(.h 文件)+ 库

C语言的相关问题解答 写在最前面目录 问题1变量名与变量的关系与区别变量和数据类型形参&#xff08;形式参数&#xff09;的概念 问题2解析&#xff1a;主调函数和被调函数延伸解析&#xff1a;主调函数对于多文件程序的理解总结 问题3类和对象变量和数据类型变量是否为抽象的…

YOLOv5算法进阶改进(6)— 更换主干网络之ResNet18

前言:Hello大家好,我是小哥谈。ResNet18是ResNet系列中最简单的一个模型,由18个卷积层和全连接层组成,其中包含了多个残差块。该模型在ImageNet数据集上取得了很好的表现,成为了深度学习领域的经典模型之一。ResNet18的优点是可以解决深度神经网络中梯度消失的问题,使得性…

第一个C代码讲解

文章目录 编写C文件创建文本文件编写代码修改文件后缀切换文件路径 编译代码打开命令行使用gcc编译代码运行程序双击运行使用命令行运行 代码分析编译过程 编写C文件 编辑C代码文件的工具有很多&#xff0c;为了让大家初学的时候摆脱编译软件的干扰&#xff0c;更容易理解编译过…

hql面试题之上海某资深数仓开发工程师面试题-求不连续月份的月平均值

1.题目 A,B两组产品的月平均值&#xff0c;月平均值是当月的前三个月值的一个平均值&#xff0c;注意月份是不连续的&#xff0c;如果当月的前面的月份不存在&#xff0c;则为0。如A组2023-04的月平均值为2023年1月的数据加2023-02月的数据的平均值&#xff0c;因为没有其他月…

MES管理系统在智能工厂建设中的五个核心作用

随着制造业的数字化转型&#xff0c;智能工厂已经成为了现代工业生产的标志。而在智能工厂中&#xff0c;MES生产管理系统扮演着至关重要的角色。MES管理系统是一种用于管理和监控生产过程的软件系统&#xff0c;通过集成生产计划、资源调度、设备控制、质量管理等功能&#xf…

Cytoscape学习教程

写在前面 今天分享的内容是自己遇到问题后,咨询社群里面的同学,帮忙解决的总结。 关于Cytoscape,对于做组学或生物信息学的同学基本是陌生的,可能有的同学用这个软件作图是非常溜的,做出来的网络图也是十分的好看,“可玩性”很高,就像前面分享的aPEAR包一样aPEAR包绘制…

Python自动化测试工具selenium使用指南

概述 selenium是网页应用中最流行的自动化测试工具&#xff0c;可以用来做自动化测试或者浏览器爬虫等。官网地址为&#xff1a;selenium。相对于另外一款web自动化测试工具QTP来说有如下优点&#xff1a; 免费开源轻量级&#xff0c;不同语言只需要一个体积很小的依赖包支持…

大杀四方,华为组建智能车大联盟 | 百能云芯

最近&#xff0c;华为和一系列汽车公司合资的新公司迎来新的进展。除了与长安汽车的合作外&#xff0c;据传华为已经邀请奇瑞、赛力斯、北汽以及江淮汽车入股新公司&#xff0c;这将使华为成为中国智能汽车平台的重要主导者。 根据澎湃新闻的报道&#xff0c;知情人透露&#x…

Mysql之子查询(知识点+例题)

Mysql之子查询<知识点例题> 什么是子查询案例分析案例分析子查询的分类单行子查询子查询中的空值问题题目练习题目一题目二题目三题目四题目五补充&#xff1a;聚合函数与GROUP BY的使用关系 CASE表达式&#xff08;子查询中的运用&#xff09;简单CASE表达式搜索CASE表达…

Python将Labelme的Json标注文件进行增、删、改、查

Python将Labelme的Json标注文件进行增、删、改、查 前言前提条件相关介绍实验环境Json标注文件的增、删、改、查增代码实现输出结果 删代码实现输出结果 改代码实现输出结果 查代码实现输出结果 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精…