当前位置: 首页 > news >正文

asp.net网站开发流程毕设 代做 网站

asp.net网站开发流程,毕设 代做 网站,学校网站建设全包,企业展厅建造方法使用 Shell 脚本实现 Spring Boot 项目自动化部署到 Docker(Ubuntu 服务器) 在日常项目开发中,我们经常会将 Spring Boot 项目打包并部署到服务器上的 Docker 环境中。为了提升效率、减少重复操作,我们可以通过 Shell 脚本实现自动…

使用 Shell 脚本实现 Spring Boot 项目自动化部署到 Docker(Ubuntu 服务器)

在这里插入图片描述

在日常项目开发中,我们经常会将 Spring Boot 项目打包并部署到服务器上的 Docker 环境中。为了提升效率、减少重复操作,我们可以通过 Shell 脚本实现自动化部署。


🧱 一、准备环境

1. 本地和服务器要求

  • 本地安装了 Maven 和 JDK
  • 服务器操作系统为 Ubuntu 22.04 LTS
  • 服务器已安装 Docker,并已配置当前用户对 Docker 的权限(加入 docker 用户组)

2. 本地项目结构示例

project-root/
├── src/
├── target/
│   └── yourapp.jar
├── Dockerfile
└── deploy/
│   └── deploy.sh
└── deploy-to-server.sh

🚀 二、编写部署脚本

project-root/deploy 目录中创建 deploy.sh 脚本(用于服务器端自动执行):

🔧 deploy/deploy.sh 内容:

#!/bin/bashAPP_NAME="ddz_demo"
IMAGE_NAME="ddz_demo_image"
CONTAINER_NAME="ddz_demo_container"
JAR_FILE="ddz_demo.jar"
EXPOSE_PORT=9090echo ">>> 清理旧容器(如有)"
docker stop $CONTAINER_NAME 2>/dev/null || true
docker rm $CONTAINER_NAME 2>/dev/null || true
docker rmi $IMAGE_NAME 2>/dev/null || trueecho ">>> 构建 Docker 镜像"
docker build -t $IMAGE_NAME .echo ">>> 启动新容器"
docker run -d --name $CONTAINER_NAME -p $EXPOSE_PORT:$EXPOSE_PORT $IMAGE_NAME

注意:确保 Dockerfile 中的 EXPOSE 与实际 Java 服务端口一致。


🛠️ 三、编写自动上传与执行脚本

在本地项目根目录添加一个部署脚本,如 deploy-to-server.sh

🔧 deploy-to-server.sh 内容:

#!/bin/bashSERVER_USER="youruser"
SERVER_IP="your.server.ip"
SERVER_DIR="/home/ubuntu/ddz_demo"echo ">>> 打包项目"
mvn clean package -DskipTestsecho ">>> 创建远程目录"
ssh $SERVER_USER@$SERVER_IP "mkdir -p $SERVER_DIR"echo ">>> 上传文件"
scp target/ddz_demo.jar Dockerfile deploy/deploy.sh $SERVER_USER@$SERVER_IP:$SERVER_DIR/echo ">>> 执行部署脚本"
ssh $SERVER_USER@$SERVER_IP "chmod +x $SERVER_DIR/deploy.sh && cd $SERVER_DIR && ./deploy.sh"

🔑 四、配置 SSH 免密登录(自动化关键)

如果不想每次上传/执行都输入密码,请配置 SSH 免密登录:

1. 本地生成密钥(如未生成)

ssh-keygen -t rsa -b 4096

2. 将公钥添加到服务器

ssh-copy-id ubuntu@[your.server.ip]

或手动上传:

cat ~/.ssh/id_rsa.pub | ssh ubuntu@[your.server.ip] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

3. 验证

ssh ubuntu@[your.server.ip]

应无需输入密码即可登录。


🧪 五、部署过程演示

只需一条命令即可:

bash deploy-to-server.sh

脚本会自动完成:

  1. 打包项目
  2. 上传构建产物与部署脚本
  3. 构建 Docker 镜像
  4. 启动容器服务

🧯 六、常见问题与解决

问题解决方法
Permission denied 上传失败确保目标目录属于当前用户或改为 /home/ubuntu
Docker 权限错误将用户加入 docker 组:sudo usermod -aG docker $USER 并重启
容器端口配置不一致确保 Dockerfile 中 EXPOSE 和 Java 服务端口一致
脚本无法执行加权限:chmod +x deploy.sh

如果希望进一步提升部署体验,还可以引入:

  • Git Hooks + 脚本部署
  • Jenkins / GitHub Actions 远程触发
  • 容器健康检查 + 日志集中处理
http://www.dtcms.com/a/595268.html

相关文章:

  • 网站里面的视频功能怎么做wordpress类似的网站
  • 石家庄建设一个网站多少钱吉林省最新消息今天新增
  • 湖南建网站青岛模板自助建站
  • 哈尔滨网站建设步骤阿里云备案网站建设方案书模板
  • 预约营销型网站建设专家网站建设交易中心
  • 株洲定制型网站建设网络营销方式有哪些分类
  • 免费建站网站一站式东莞平面设计
  • 网站开发与黑客微博代替wordpress评论框
  • 深圳市工商注册信息查询网站wordpress博客广告代码
  • 做出口网站邢台论坛
  • 网站备案空间备案吗电商的推广主要是做什么的
  • 如何制作自己的网站模版wordpress导航类主题
  • 咨询公司网站源码做微信的网站
  • 房屋装修效果图三室一厅seo整站优化解决方案
  • 网站建设官网wordpress仿制建设
  • 大学生做的美食网站旅游网站平台
  • 长沙专业做网站的公司wordpress免费主题怎么用
  • 怎么让自己的网站通过域名访问不了商城类网站建设
  • wordpress站点制作网站开发的未来展望
  • 网站群建设的目的wordpress如何上传
  • 自己怎样学做网站上海好牛网站建设
  • 手机链接网页怎么制作德州哪家网站优化公司专业
  • 镇江网站建设远航网络郑州高端网站建设团队
  • mc做弊端网站百度提交网站入口网址
  • 常平营销网站建设网站建设初期问题常见
  • 高频面试八股文用法篇(十八) ThreadLocal线程本地变量
  • 关键词挖掘网站电子商务企业网站的推广方式
  • 南京网站设计公司哪家好龙岗网络科技有限公司
  • 如何建立网站和网页店面设计用什么软件
  • 中国职业培训在线官方网站wordpress虚拟主机无法发邮件