🌱Spring博客系统⑤:从代码到云端——部署全流程详解🚀
📦准备阶段
首先确保项目已经完成开发并通过测试,我的SpringBoot博客系统结构如下:
```java
blog-system/
├──src/
│├──main/
││├──java/com/example/blog/
││└──resources/
│└──test/
├──pom.xml
└──Dockerfile
```
🔧打包应用
使用Maven进行打包,生成可执行的JAR文件:
```bash
mvncleanpackage-DskipTests
```
🐳Docker化部署
创建Dockerfile实现容器化:
```dockerfile
FROMopenjdk:17-jdk-slim
COPYtarget/blog-system-0.0.1-SNAPSHOT.jarapp.jar
EXPOSE8080
ENTRYPOINT["java","-jar","/app.jar"]
```
构建并运行Docker镜像:
```bash
dockerbuild-tblog-system.
dockerrun-d-p8080:8080--namemy-blogblog-system
```
☁️云服务器部署
1.上传文件到云服务器:
```bash
scptarget/blog-system-0.0.1-SNAPSHOT.jaruser@server:/path/to/deploy
```
2.配置生产环境:
```properties
application-prod.properties
spring.datasource.url=jdbc:mysql://prod-db:3306/blog_db
spring.profiles.active=prod
```
3.使用Systemd管理服务:
```ini
/etc/systemd/system/blog.service
[Unit]
Description=BlogSystemService
[Service]
ExecStart=/usr/bin/java-jar/path/to/blog-system.jar
User=bloguser
Restart=always
[Install]
WantedBy=multi-user.target
```
🔄CI/CD自动化
配置GitHubActions实现自动部署:
```yaml
name:DeployBlogSystem
on:
push:
branches:[main]
jobs:
build-and-deploy:
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@v2
-name:SetupJDK
uses:actions/setup-java@v1
with:
java-version:'17'
-name:BuildwithMaven
run:mvncleanpackage
-name:DeploytoServer
uses:appleboy/ssh-action@master
with:
host:${{secrets.SERVER_HOST}}
username:${{secrets.SERVER_USER}}
key:${{secrets.SERVER_SSH_KEY}}
script:|
systemctlrestartblog.service
```
🎉部署完成!
访问`http://your-server-ip:8080`即可看到博客系统正常运行啦!✨记得配置Nginx反向代理和HTTPS证书哦~🔒
整个部署过程从本地开发到生产环境,实现了现代化应用的完整生命周期管理!💻➡️☁️
📦准备阶段
首先确保项目已经完成开发并通过测试,我的SpringBoot博客系统结构如下:
```java
blog-system/
├──src/
│├──main/
││├──java/com/example/blog/
││└──resources/
│└──test/
├──pom.xml
└──Dockerfile
```
🔧打包应用
使用Maven进行打包,生成可执行的JAR文件:
```bash
mvncleanpackage-DskipTests
```
🐳Docker化部署
创建Dockerfile实现容器化:
```dockerfile
FROMopenjdk:17-jdk-slim
COPYtarget/blog-system-0.0.1-SNAPSHOT.jarapp.jar
EXPOSE8080
ENTRYPOINT["java","-jar","/app.jar"]
```
构建并运行Docker镜像:
```bash
dockerbuild-tblog-system.
dockerrun-d-p8080:8080--namemy-blogblog-system
```
☁️云服务器部署
1.上传文件到云服务器:
```bash
scptarget/blog-system-0.0.1-SNAPSHOT.jaruser@server:/path/to/deploy
```
2.配置生产环境:
```properties
application-prod.properties
spring.datasource.url=jdbc:mysql://prod-db:3306/blog_db
spring.profiles.active=prod
```
3.使用Systemd管理服务:
```ini
/etc/systemd/system/blog.service
[Unit]
Description=BlogSystemService
[Service]
ExecStart=/usr/bin/java-jar/path/to/blog-system.jar
User=bloguser
Restart=always
[Install]
WantedBy=multi-user.target
```
🔄CI/CD自动化
配置GitHubActions实现自动部署:
```yaml
name:DeployBlogSystem
on:
push:
branches:[main]
jobs:
build-and-deploy:
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@v2
-name:SetupJDK
uses:actions/setup-java@v1
with:
java-version:'17'
-name:BuildwithMaven
run:mvncleanpackage
-name:DeploytoServer
uses:appleboy/ssh-action@master
with:
host:${{secrets.SERVER_HOST}}
username:${{secrets.SERVER_USER}}
key:${{secrets.SERVER_SSH_KEY}}
script:|
systemctlrestartblog.service
```
🎉部署完成!
访问`http://your-server-ip:8080`即可看到博客系统正常运行啦!✨记得配置Nginx反向代理和HTTPS证书哦~🔒
整个部署过程从本地开发到生产环境,实现了现代化应用的完整生命周期管理!💻➡️☁️
1327

被折叠的 条评论
为什么被折叠?



