JenKins 部署 SpringCloud+ Gogs+Nacos(若依前后端分离)

本文详细介绍了在阿里云服务器上安装Git,设置环境变量,以及如何编译和配置Git,同时还指导了JDK、Maven、Node.js和Jenkins的安装,并附带了一个脚本用于一键安装这些软件。脚本还涉及Nacos的启动和前端UI的开发部署过程。
摘要由CSDN通过智能技术生成

注意:这是一个从安装到部署的保姆文档。

我用的是阿里云服务器 (建议用15G运行内存)过于吃内存,2核2G不建议去搭建

直接开始

先安装Git

下载Git源码包
使用Wget下载Git源码包
wget https://github.com/git/git/archive/v2.17.0.tar.gz
解压
使用 tar -zxvf命令解压 v2.17.0.tar.gz
tar -zxvf v2.17.0.tar.gz
安装Git所需依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
一直按Y
编译Git源码包
跳转到Git源码包目录下使用 make all 命令进行编译
cd git-2.17.0
make prefix=/usr/local/git all
安装Git
将Git安装到/usr/local/git路径下
make prefix=/usr/local/git install
配置环境变量
vim /etc/profile
加入Git相关配置信息
PATH=$PATH:/usr/local/git/bin
export PATH
退出
执行命令让环境变量生效
source /etc/profile
查看Git版本
git --version

安装 jdk  - maven  -  nodeJs - jenkins - nacos

链接:https://pan.baidu.com/s/1jJTJefttPNXvpgK3p2sM_Q 
提取码:0000

这里面有一个脚本 一键安装 jdk maven nodejs

里面有配套的jenkins war包

看一下 脚本

运行 脚本 

先cd 

运行

sh jenkins.sh init

等待安装完成

测试环境变量

java -version

mvn -v

node -v

npm -v

git --version

启动 sh jenkins.sh start

如果报错翻译一下,查看jenkins log日志,大概率是不支持jdk8,安装jdk11就行

启动成功后,默认端口号 为 10000

http://你的ip:10000/jenkins

进入网址后 admin用户密码放在

cat /root/.jenkins/secrets/initialAdminPassword
这个路径下,注意查看

进去后等待下载默认插件

接下来看图片操作

运行脚本

#!/bin/bash
#服务名称
SERVER_NAME=RuoYi-Cloud
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
# 源jar路径
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
    kill -9 $id
    echo "killed $id"
done
echo "结束进程完成"

# 目标目录路径
destination_directory="/root/.jenkins/workspace/Test/target"

# 检查目标目录是否存在,如果不存在则创建
if [ ! -d "$destination_directory" ]; then
  mkdir -p "$destination_directory"
fi

# 复制所有的 JAR 文件到目标目录
cp /root/.jenkins/workspace/Test/ruoyi-api/ruoyi-api-system/target/ruoyi-api-system-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-auth/target/ruoyi-auth.jar "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-core/target/ruoyi-common-core-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-datascope/target/ruoyi-common-datascope-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-datasource/target/ruoyi-common-datasource-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-log/target/ruoyi-common-log-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-redis/target/ruoyi-common-redis-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-seata/target/ruoyi-common-seata-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-security/target/ruoyi-common-security-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-sensitive/target/ruoyi-common-sensitive-3.6.4.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-common/ruoyi-common-swagger/target/ruoyi-common-swagger-3.6.4.jar "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-gateway/target/ruoyi-gateway.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-modules/ruoyi-gen/target/ruoyi-modules-gen.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar  "$destination_directory/"

cp /root/.jenkins/workspace/Test/ruoyi-visual/ruoyi-monitor/target/ruoyi-visual-monitor.jar  "$destination_directory/"


cd $destination_directory

chmod 755 /*.jar

# 检查目录是否存在
if [ ! -d "$destination_directory" ]; then
  echo "指定的目录不存在: $destination_directory"
  exit 1
fi

# 进入目录
cd "$destination_directory" || exit

# 循环执行所有的 JAR 文件
for file in *.jar; do
  if [ -f "$file" ]; then
    echo "执行 $file"
    BUILD_ID=dontKillMe nohup java -jar  "$file"  &
    echo "执行完毕"
  fi
  done

下载gogs插件

前端ui

cd /root/.jenkins/workspace/TestUI/ruoyi-ui

npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 启动服务
npm run dev

docker 启动 nacos 结束

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jenkins可以用于部署Spring Cloud项目。根据引用\[1\]中提到的方案,可以使用Jenkins + Docker + Spring Cloud的集群部署流程来实现。首先,需要搭建一个Docker服务器,并进行配置。然后,修改所有微服务的配置,包括eureka、admin、gathering和zuul等。接下来,在Jenkins中创建一个流水线项目,并安装Extended Choice Parameter插件。通过配置构建参数,可以实现多服务器远程发布。在项目配置中,需要修改Docker配置以信任Harbor私服地址。然后,编写部署脚本,并进行构建测试。最后,可以使用Nginx+Zuul实现高可用网关,通过在web2-server服务器上安装nginx并修改配置文件来实现。\[2\]\[3\] #### 引用[.reference_title] - *1* [Jenkins---部署Spring Cloud项目](https://blog.csdn.net/qq_40823910/article/details/106197154)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Jenkins 微服务持续集成之集群部署(SpringCloud微服务)(六)](https://blog.csdn.net/m0_59430185/article/details/123296947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值