9a0dcc87e62d51956ec266876bc2998f5887b162
在线商城PHP项目
Git 分支策略
| 环境 | 推荐分支 | 备选分支 | 说明 |
|---|---|---|---|
| local | dev |
develop |
本地开发环境 |
| development | dev |
development |
开发测试环境 |
| test | test |
staging |
测试环境 |
| staging | staging |
pre-release |
预发布环境 |
| production | master |
main |
生产环境 |
部署建议:
- 每个环境部署前请先切换到对应的Git分支
- 确保代码版本与目标环境匹配
- 生产环境部署前建议先在staging环境验证
Docker 部署
cp .env.example .env.development
注意
- 在同一目录下面,执行
docker-compose命令时,需要指定项目名称。用来区分不同的环境。如shop_local、shop_dev等。 - 本地部署时,需要将
APP_ENV设置为local。 - 开发环境部署时,需要将
APP_ENV设置为development。
环境变量
APP_ENV: 应用环境,默认值为development。
开发环境-local 部署
对应Git分支: main 或 develop
# 切换到本地开发分支
git checkout main # 或 develop
# 本地部署时,需要将 APP_ENV 设置为 local, 并指定 docker-compose.local.yml 文件
docker-compose --env-file .env.local -f docker-compose.local.yml up -d
# docker-compose --project-name shop_local --env-file .env.local -f docker-compose.local.yml up -d
# docker-compose down 命令,用来停止并删除容器
docker-compose -f docker-compose.local.yml down -v
# docker-compose --project-name shop_local down -v
开发环境-development 部署
对应Git分支: dev 或 development
# 切换到开发分支
git checkout dev # 或 development
# 默认使用 docker-compose.yml 文件
# 清理所有未使用的构建缓存
docker builder prune -a -f
# 然后再执行无缓存构建和启动
docker-compose --project-name shop_development --env-file .env.development build --no-cache
docker-compose --project-name shop_development --env-file .env.development up -d
# docker-compose down 命令,用来停止并删除容器
docker-compose --project-name shop_development down -v
开发环境-test 部署 (测试环境)
对应Git分支: test 或 staging
# 切换到测试分支
git checkout test # 或 staging
# 默认使用 docker-compose.yml 文件
# 清理所有未使用的构建缓存
docker builder prune -a -f
# 然后再执行无缓存构建和启动
docker-compose --project-name shop_test --env-file .env.test build --no-cache
# 默认使用 docker-compose.yml 文件
docker-compose --project-name shop_test --env-file .env.test up -d
# docker-compose down 命令,用来停止并删除容器
docker-compose --project-name shop_test down -v
开发环境-staging 部署(预发布环境)
对应Git分支: staging 或 pre-release
# 切换到预发布分支
git checkout staging # 或 pre-release
# 默认使用 docker-compose.yml 文件
docker-compose --project-name shop_staging --env-file .env.staging up -d
# docker-compose down 命令,用来停止并删除容器
docker-compose --project-name shop_staging down -v
生产环境-production 部署
对应Git分支: master 或 main 或 production
# 切换到生产分支
git checkout main
# 确保代码是最新的生产版本
git pull origin main
# 默认使用 docker-compose.yml 文件
docker-compose --project-name shop_production --env-file .env.production up -d
# docker-compose down 命令,用来停止并删除容器
docker-compose --project-name shop_production down -v
便捷部署脚本
环境切换与部署脚本
deploy.sh脚本:
使用方法
# 赋予执行权限
chmod +x deploy.sh
# 部署到开发环境
./deploy.sh development
# 部署到测试环境
./deploy.sh test
# 部署到生产环境
./deploy.sh production
Description
Languages
PHP
36.9%
HTML
28.2%
JavaScript
24.9%
CSS
8.3%
SCSS
1%
Other
0.7%