GitHub Actions + SSH 自动部署教程

💡 原文中文,约2900字,阅读约需7分钟。
📝

内容提要

本文介绍了如何通过 GitHub Actions 和 SSH 实现自动部署。首先需准备可访问的服务器并生成 SSH 密钥,配置服务器 SSH 授权,添加 GitHub Secrets,编写部署脚本和 GitHub Actions Workflow 文件。最后,通过推送代码测试部署流程,并解决常见问题。

🔎

延伸解读

自动部署的优势

通过 GitHub Actions 和 SSH 实现自动部署,可以显著提高开发效率,减少手动操作带来的错误。每次代码推送后,系统会自动执行部署脚本,确保服务始终保持最新状态,适合频繁更新的项目。

安全性考虑

在配置 SSH 连接时,建议使用专用的 SSH 密钥,以降低密钥泄露的风险。此外,确保服务器的 SSH 端口已正确开放,并定期检查安全组设置,以防止未授权访问。

常见问题及解决方案

在部署过程中,可能会遇到 SSH 被防火墙拦截或私钥不匹配等问题。建议在遇到这些问题时,首先检查服务器的 SSH 配置和密钥设置,确保所有信息准确无误。

Q&A

如何生成用于 GitHub Actions 的 SSH 密钥?

在本地终端执行命令 `ssh-keygen -t rsa -b 4096 -f ~/.ssh/github-action-deploy -C 'github-action'`,会生成私钥和公钥。

如何配置服务器的 SSH 授权?

将公钥添加到服务器的 `~/.ssh/authorized_keys` 文件中,并确保文件权限设置为 600。

在 GitHub 中如何添加 Secrets?

进入仓库设置,选择 Secrets and variables,然后添加 SSH_HOST、SSH_PORT、SSH_USER 和 SSH_PRIVATE_KEY 等信息。

如何编写服务器端的部署脚本?

在项目目录中创建 `restart.sh` 文件,包含停掉旧服务、拉取最新代码和启动服务的命令,并赋予执行权限。

如何创建 GitHub Actions Workflow 文件?

在项目根目录下创建 `.github/workflows/deploy.yml` 文件,定义触发条件和部署步骤。

常见的 SSH 部署问题有哪些?

常见问题包括 SSH 被防火墙拦截、私钥不匹配、脚本权限错误等。

🏷️

标签

➡️

继续阅读