返回
使用 Github Action 自动化部署的简单指南
前端
2023-11-08 15:44:32
使用 Github Action 自动化部署可以极大地简化您的开发工作流程,让您可以专注于更重要的任务。本指南将带您了解在项目中使用 Github Action 自动化部署的逐步说明,同时提供实际示例和最佳实践。
为什么使用 Github Action 自动化部署?
- 提高效率: 自动化部署流程,省去手动部署的繁琐工作。
- 减少错误: 通过自动化,您可以消除人为错误的风险,从而提高部署的可靠性。
- 提升一致性: 确保所有部署遵循相同的流程,无论部署人员是谁。
- 节省时间: 自动化部署释放您的时间,让您可以专注于其他开发任务。
- 提高代码质量: 自动化部署可以帮助您在部署代码之前识别问题,从而提高代码质量。
先决条件
- Github 帐户
- Github Action 启用的项目
- 部署目标(例如,服务器、云平台)
逐步说明
1. 创建 Github Action 工作流程文件
在项目根目录中,创建一个名为 .github/workflows/deploy.yml
的文件。此文件将定义您的自动化部署工作流程。
2. 定义触发器
触发器指定何时运行工作流程。对于部署,您通常需要在推送到特定分支(例如 main
或 production
) 时触发工作流程。
on:
push:
branches:
- main
- production
3. 定义作业
作业是工作流程中执行特定任务的单元。对于部署,您需要定义一个用于部署代码的作业。
jobs:
deploy:
4. 指定部署任务
在 deploy
作业中,您可以指定用于部署代码的特定任务。这些任务通常包括:
- 安装依赖项:
run: npm install
- 构建应用程序:
run: npm build
- 部署应用程序:
run: scp -r build/* username@ip-address:/var/www/html
5. 设置秘密
如果部署需要访问敏感信息(例如,SSH 密钥或密码),您可以在 Github Actions 中设置秘密以安全地存储这些信息。
6. 部署到服务器
确保您的服务器已准备就绪,并配置了 SSH 密钥或其他必要的凭据。
示例工作流程文件
以下是一个将代码部署到服务器上的示例工作流程文件:
name: Deploy
on:
push:
branches:
- main
- production
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm install
- run: npm build
- run: scp -r build/* username@ip-address:/var/www/html
最佳实践
- 使用不同的环境: 创建用于不同环境(例如,开发、测试和生产)的不同工作流程。
- 使用变量: 存储部署目标和其他可配置值,以提高工作流程的可重用性。
- 记录部署: 使用 Github Actions 的注释记录部署详细信息,以便于进行故障排除。
- 监视部署: 设置警报以监视部署状态,并在出现问题时通知您。
- 持续集成/持续交付 (CI/CD): 将自动化部署与 CI/CD 管道相结合,实现代码更改的自动构建、测试和部署。
故障排除
- 验证 SSH 密钥: 确保已正确设置 SSH 密钥,并且可以从 Github Actions 访问服务器。
- 检查防火墙设置: 确保服务器的防火墙允许来自 Github Actions 的连接。
- 查看工作流程日志: 在 Github Actions 中查看工作流程日志,以识别和解决部署错误。
- 检查代码: 确保您正在尝试部署的代码已正确构建和准备就绪。