扫码阅读
手机扫码阅读
GitHub Actions 真香系列之scp和ssh

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

鲁飞
扫码关注公众号
概述
尽管 Kubernetes (k8s) 被用于服务部署,但仍有业务依赖传统 LNMP(Linux, Nginx, MySQL, PHP)部署方式。本文讨论在不同环境下部署 Web 站点的问题,其中包括测试环境的持续部署和生产环境的上线流程。
测试环境
测试环境兼作开发环境,区分本地和云数据库。本地开发使用 PhpStorm 的 FTP 功能上传代码,而其他开发者提交代码后,使用 webhook 自动进行代码拉取。这里的 webhook 实现依赖于作者开发的 sy-records/git-deploy 工具,该工具支持多个 Git 平台,并需要 PHP 和 Swoole 环境。如果没有这些环境,还可以使用 swoole-cli 启动。
生产环境
生产环境部署前需要打包操作,使用 GitHub Actions 实现。最初尝试使用公私钥进行代码拷贝和解压,但未成功。后来同事推荐使用 ssh-action 执行远程 SSH 命令。虽然这个 action 能通过密码或私钥远程操作,作者最终没采用它。进一步探索后,发现 scp-action 更符合需求,用以将代码包复制到下载服务器,再从生产环境下载并解压部署。部署简化为在服务器上执行一个 PHP 脚本来引入下载链接,尽管也可以基于 ssh-action 直接操作,但由于其他限制,仍选择手动执行。
想要了解更多内容?

鲁飞
扫码关注公众号
鲁飞的其他文章
腾讯企业邮箱收不到邮件怎么回事
原因就是域名解析 CNAME 和 MX 记录冲突所导致的。
解决 Laravel 单元测试报错:A facade root has not been set
建议直接使用命令行操作相关操作
给你的项目增加 Git WebHooks
让你的项目支持 WebHooks,并且可以自定义 WebHooks 的规则。
如何获取指定CSDN博主的全部文章信息
本文说明了爬取 CSDN 作者文章的方法。
GitHub Actions 真香系列之自动同步镜像仓库
GitHub虽然在国内访问慢,但是依旧不能阻挠国内开发者的使用,我们一般也会在Gitee或者其他托管平台创建一个镜像,用来方便不能正常访问GitHub的开发者。
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线