Jenkins远程发布前后端分离项目

1、安装Jenkins插件

Publish Over SSH版本1.25

系统管理--->>插件管理----->>可用插件搜索即可

配置远程服务器

系统管理--->>一直往下拉,就看的见Publish over SSH

现在你的远程服务器创建你需要的nginx配置文件、Dockerfile、shell脚本

Dockerfile文件

sudo vim Dockerfile

#使用官方 nginx 镜像作为基础镜像  
FROM nginx:latest
EXPOSE 80
COPY  dist/   /usr/share/nginx/html  #将当前目录下的dist文件复制到nginx的html目录下
ADD  default.conf   /etc/nginx/conf.d  #将当前目录下的nginx文件指定为nginx的文件

nginx的配置文件

sudo  vim  default.conf

server {
        listen       80;
        server_name  你的IP;
        location / {
            root /usr/share/nginx/html;
                try_files $uri $uri/ /index.html last;
                index index.html;
        }
        location /api/ {
        proxy_pass http://你的后端IP:端口/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    }
 

sudo vim vue.sh

#!/bin/bash
# 检查是否存在 dist 目录
if [ -d "dist" ]; then
  echo "dist 文件夹存在,继续执行后续步骤"
  # 在这里继续执行你的后续命令,例如创建 Dockerfile
else
  echo "没有 dist 文件夹,无法创建 Dockerfile"
  exit 1
fi
# 强制删除名为 vue 的容器(如果存在)
docker rm -f vue 2>/dev/null

# 删除名为 vue:v1 的镜像(如果存在)
docker rmi -f vue:1 2>/dev/null

# 构建名为 vue:1 的镜像
docker build -t vue:1 .

# 运行 vue:v1 镜像
docker run -d --name vue -p 80:80 vue:1

# 查看镜像并输出结果
if docker ps | grep vue; then
  echo "容器创建成功"
else
  echo "容器创建失败"
fi
 

注意,一定要给nginx跟shell脚本权限,不然容器起不来

创建一个自由风格的前端新项目

前端项目配置

配置选项参数,防止误触构建

构建环境---->>选择node打包,这里插件需要安装才会有显示

部署到远程服务器

构建后操作,找到这个参数

配置远程信息

保存之后就构建

查看日志是否成功

配置后端

现在你的远程服务器编写Dockerfile跟java.sh

sudo vim Dockerfile

# 使用官方的 OpenJDK 11 作为基础镜像
FROM openjdk:21

# 设置工作目录
WORKDIR /app

# 将本地的 JAR 文件复制到容器中的工作目录
COPY df-admin/build/libs/XXXX.jar   /app/XXX.jar

# 运行 JAR 文件
ENTRYPOINT ["java", "-jar", "/app/dXXX.jar"]

# 公开应用程序监听的端口
EXPOSE 87

编写java.sh

#!/bin/bash
if [ -d "df-admin" ]; then
      echo "df-admin 文件夹存在,继续执行后续步骤"
        # 在这里继续执行你的后续命令,例如创建 Dockerfile
    else
          echo "没有df-admin文件夹,无法创建 Dockerfile"
    exit 1
 fi

# 强制删除名为 java 的容器(如果存在)
docker rm -f java 2>/dev/null

# 删除名为 java:v1 的镜像(如果存在)
docker rmi -f java:1 2>/dev/null

# 构建名为 java:1 的镜像
docker build -t java:1 .

# 运行 java:v1 镜像
docker run -d --name java -p 87:87 java:1

# 查看镜像并输出结果
if docker ps | grep 87; then
      echo "容器创建成功"
  else
        echo "容器创建失败"
  fi
 

构建后操作步

保存点击构建

最后登录远程服务器查看是否真的部署好容器

docker ps 

大概就是这样,多踩坑才能成长,加油,少年

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Jenkins自动部署前后端分离项目的过程,可以按照以下步骤进行操作: 1. 首先,下载好前端和后端的项目代码,并将其打包成war包。 2. 将war包部署到服务器上,可以使用以下命令进行启动: ``` nohup java -jar jenkins.war > ../logs/jenkins.log 2>&1 & ``` 这样就可以在后台启动Jenkins。 3. 进入Jenkins的后台页面,通过在浏览器中输入Jenkins的URL地址来访问。 4. 在Jenkins后台页面中,可以创建一个新的任务来进行自动部署。例如,可以在任务配置中指定前端项目的代码仓库地址和构建脚本,以及后端项目的代码仓库地址和构建脚本。 5. 在Jenkins的任务配置中,可以设置触发器,例如每当有新的提交时自动触发构建。这样,当有新的代码提交到代码仓库时,Jenkins就会自动进行构建和部署。 6. 在Jenkins的任务配置中,可以设置构建步骤,例如编译前端项目、编译后端项目、打包、部署等。根据具体项目的需求,可以自定义构建步骤。 7. 完成任务配置后,保存并启动任务。Jenkins会根据配置的触发器自动进行构建和部署。 8. 在部署完成后,可以通过Tomcat等服务器来访问部署好的前后端分离项目。可以通过访问相应的URL地址来查看项目的运行情况。 综上所述,通过以上步骤,可以实现Jenkins自动部署前后端分离项目。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [jenkins一键部署前后端分离项目](https://blog.csdn.net/weixin_45880270/article/details/124308587)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Jenkins部署前后端分离项目最全图文教程(手把手教学)](https://blog.csdn.net/HJW_233/article/details/131816735)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值