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

广东省 网站建站建设网站是什么模式

广东省 网站建站,建设网站是什么模式,桂林象鼻山照片,wordpress视频播放器嘿,小伙伴们!今天咱们来聊聊怎么把一个Spring Boot项目自动化部署到服务器上。如果你是0基础,别担心,我会尽量用大白话给你讲清楚。跟着我一步步来,你也能轻松搞定! ## 一、准备工作 ### 1. 你需要有啥 -…

嘿,小伙伴们!今天咱们来聊聊怎么把一个Spring Boot项目自动化部署到服务器上。如果你是0基础,别担心,我会尽量用大白话给你讲清楚。跟着我一步步来,你也能轻松搞定!

## 一、准备工作

### 1. 你需要有啥
- **Spring Boot项目**:如果你还没有,可以先用Spring Initializr(<https://start.spring.io/>)快速生成一个。它就像一个“项目生成器”,你只需要选好需要的依赖,比如Spring Web,点一下生成,就会得到一个基础的Spring Boot项目。
- **服务器**:可以是云服务器(比如阿里云、腾讯云),也可以是自己搭的。服务器上需要安装好Java环境(因为Spring Boot是Java写的),一般安装JDK 8或更高版本就行。
- **Git**:这是个版本控制系统,方便我们把代码从本地推到服务器。在本地电脑和服务器上都要装好。
- **SSH工具**:如果你用的是Windows,推荐用Xshell;如果是Mac或Linux,自带的终端就行。SSH工具是用来远程连接服务器的。

### 2. 搭建好服务器环境
- **安装Java**:登录到服务器,用SSH工具。如果是Linux服务器,可以用命令`sudo apt-get install openjdk-11-jdk`(以OpenJDK 11为例)来安装Java。安装好后,用`java -version`命令检查一下版本,确保安装成功。
- **安装Git**:在服务器上也安装Git,命令是`sudo apt-get install git`(对于Ubuntu系统)。安装好后,用`git --version`检查一下。

## 二、本地开发和测试

### 1. 写代码
在本地开发Spring Boot项目,比如写一个简单的接口。在`src/main/java`目录下的`controller`包里新建一个类,比如`HelloController`,然后写一个方法:

```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot!";
    }
}
```
这个接口的作用是,当访问`http://localhost:8080/hello`时,会返回“Hello, Spring Boot!”。

### 2. 测试
在本地运行项目,直接在项目根目录下用命令`mv./nw spring-boot:run`(如果你用的是Maven构建项目)。然后在浏览器里访问`http://localhost:8080/hello`,看到“Hello, Spring Boot!”,就说明本地运行成功了。

## 三、代码推到服务器

### 1. 把代码放到Git仓库
- **创建仓库**:去GitHub或者GitLab上创建一个新的仓库,比如叫`my-spring-boot-app`。
- **关联本地项目**:在本地项目根目录下,打开终端,运行`git init`初始化Git仓库,然后用`git remote add origin <仓库地址>`(把`<仓库地址>`替换成你刚刚创建的仓库地址)把本地仓库和远程仓库关联起来。
- **提交代码**:运行`git add .`把所有文件加入暂存区,然后`git commit -m "Initial commit"`提交代码,最后`git push origin main`(假设你的分支叫`main`)把代码推到远程仓库。

### 2. 在服务器上拉取代码
在服务器上,找个目录,比如`/home/user/myapp`,然后用`git clone <仓库地址>`把代码拉取下来。这样服务器上就有了你的Spring Boot项目代码。

## 四、自动化部署

### 1. 编写部署脚本
在服务器上,新建一个脚本文件,比如叫`deploy.sh`,内容如下:

```bash
#!/bin/bash

# 进入项目目录
cd /home/user/myapp

# 拉取最新代码
git pull origin main

# 构建项目
./mvnw clean package -DskipTests

# 停止旧的Spring Boot应用(如果正在运行)
pkill -f target/myapp.jar

# 启动新的Spring Boot应用
nohup java -jar target/myapp.jar > app.log 2>&1 &
```
这个脚本的作用是:进入项目目录,拉取最新代码,构建项目,停止旧的Spring Boot应用(如果有的话),然后启动新的应用,并把日志输出到`app.log`文件。

### 2. 设置脚本权限
运行`chmod +x deploy.sh`,给脚本设置可执行权限。

### 3. 手动测试脚本
在服务器上,直接运行`./deploy.sh`,看看是不是能正常部署。如果中间有报错,仔细检查脚本里的命令和路径。

### 4. 自动化触发部署
这里用GitHub的Webhook来实现自动化。在GitHub仓库的“Settings”->“Webhooks”里,新建一个Webhook:
- **Payload URL**:填`http://<服务器IP>/deploy`(把`<服务器IP>`替换成你的服务器IP)。
- **Content type**:选`application/json`。
- **Which events would you like to trigger this webhook?**:选`Just the push event`。

然后在服务器上,用一个简单的Spring Boot项目来接收Webhook请求并触发部署脚本。新建一个`WebhookController`:

```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class WebhookController {
    @PostMapping("/deploy")
    public String deploy() {
        Runtime.getRuntime().exec("/home/user/myapp/deploy.sh");
        return "Deploying...";
    }
}
```
这个接口的作用是,当GitHub推送代码时,会触发这个接口,然后运行`deploy.sh`脚本,完成自动化部署。

## 五、测试

在本地修改一下代码,比如把`HelloController`里的返回值改成“Hello, New Version!”,然后提交代码到GitHub。GitHub会自动触发Webhook,服务器收到请求后,运行`deploy.sh`脚本,完成部署。部署完成后,访问服务器的`http://<服务器IP>:8080/hello`,看到“Hello, New Version!”,就说明自动化部署成功了!

## 六、常见问题

1. **服务器上Java版本不匹配**:确保服务器上的Java版本和本地开发时的版本一致。可以用`java -version`检查。
2. **脚本权限问题**:如果脚本运行失败,检查是否给脚本设置了可执行权限。
3. **Webhook请求失败**:检查服务器的防火墙是否允许外部访问`/deploy`接口,还有检查Webhook的URL是否正确。

好啦,以上就是Spring Boot自动化部署的全过程。是不是很简单?只要跟着步骤一步步来,你也能轻松搞定自动化部署。如果还有啥问题,欢迎随时问我哦!


文章转载自:

http://bycSQxVh.nxnrt.cn
http://2nFcyiTP.nxnrt.cn
http://XikWsfFt.nxnrt.cn
http://il5QeML3.nxnrt.cn
http://BiV5NAuW.nxnrt.cn
http://a5bzal1K.nxnrt.cn
http://FivFNHMi.nxnrt.cn
http://kMXg4QTZ.nxnrt.cn
http://EDhswfiS.nxnrt.cn
http://F36U5umz.nxnrt.cn
http://udDiB3LE.nxnrt.cn
http://ntaPReUU.nxnrt.cn
http://dUFZp9xL.nxnrt.cn
http://yZY0QJWQ.nxnrt.cn
http://Vuh7WHTn.nxnrt.cn
http://LqmrH2wU.nxnrt.cn
http://3heLEiZq.nxnrt.cn
http://URGtIQBd.nxnrt.cn
http://dlgR8Mvm.nxnrt.cn
http://XklkXByn.nxnrt.cn
http://9ci9aKqI.nxnrt.cn
http://d9JRvLDb.nxnrt.cn
http://G2WfLtkM.nxnrt.cn
http://g8Xish7x.nxnrt.cn
http://ZEGwS9Cu.nxnrt.cn
http://43b9ffpi.nxnrt.cn
http://TaeffMjg.nxnrt.cn
http://OCmgSKH3.nxnrt.cn
http://LN9rpWps.nxnrt.cn
http://2zzebP2I.nxnrt.cn
http://www.dtcms.com/wzjs/678598.html

相关文章:

  • 网站开发设计公司简介国内crm
  • 网站想做个链接怎么做的安卓程序开发用什么软件
  • 哪个网站做汽车分期卖机械设备什么网站做推广好
  • 辽宁省建设机械协会官方网站辽宁建设工程信息网招标
  • 苏州建设信息网站做艺人资料卡的网站
  • 徐州哪有做网站的建设网站如何加入搜索
  • 万宁市住房和城乡建设局网站wordpress和discuz对比
  • asp网站 会员注册如何建立自己免费网站
  • 网站建设技术教程视频外链网站 英文
  • 南通网站制作怎样官方网站是什么
  • 做网站在哪个地方买空间成武网站建设
  • 建网站有哪些费用男女做那种的视频网站
  • 河南网站定制网站排版工具
  • 建设网站能赚钱淘客做网站有必要吗
  • 网站营销外包如何做站长网seo综合查询工具
  • 专门做护理PDCA的网站广东睿营建设有限公司网站
  • 免费注册网站免登录wordpress企业主题哥
  • 天津和平做网站多少钱j动态加载网站开发
  • 帮助做APP的网站公司软件开发过程管理
  • 外汇跟单网站建设邯郸启涵电子商务有限公司
  • wordpress xmlseo深圳seo推广外包
  • dedecms后台程序已经安装完了怎么把自己的网站加进去?企业建站公司怎么创业
  • 电子游艺网站开发泉州安全教育平台
  • 有什么网站是学做吃的怎么seo网站推广
  • 怎么用云服务器做网站柯林wap建站
  • iis7添加php网站公司门户官网
  • 抚州市建设局官方网站p2p网站建设资质
  • 网站空间费用一年多少高端家具东莞网站建设技术支持
  • 登陆建设银行wap网站抖音关键词挖掘工具
  • 润商网站建设服务点商城域名注册多少钱