配置自动化部署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仓库

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

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

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

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

sh 复制代码
git remote set-url --add origin 你的地址

之后去Gitea上复制地址

新建项目

点击新建Item

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

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

这里举个例子

点击创建项目后

输入必要的信息

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

名字不建议中文


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

这里的地址为

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

举个例子

sh 复制代码
http://bunny.com:8080/generic-webhook-trigger/invoke?token=bunnybbs-server

token就是输入框输入的名字

之后选择增加构建步骤

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

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

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

操作服务器

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

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

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

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

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

sh 复制代码
# 先删除原有目录。这里根据需求来
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钩子

点击设置

添加钩子

将之前所说的地址复制到这里,规则既是上面所述的规则

点击激活钩子即可

点击这个链接进入

点击测试推送

之后就可以了

相关推荐
颇有几分姿色1 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev18 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank31 分钟前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源1 小时前
Kafka-linux环境部署
linux·kafka
成都古河云1 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming2 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方2 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
JuiceFS3 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生