扫码阅读
手机扫码阅读
GitHub Actions 真香系列之scp和ssh
354 2024-01-25
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
鲁飞
扫码关注公众号
概述
尽管 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 直接操作,但由于其他限制,仍选择手动执行。
想要了解更多内容?
文章来源:
鲁飞
扫码关注公众号
鲁飞的其他文章
JavaScript 如何实现在搜索中忽略变音符号
变音符号是指添加在字母上面的符号,以更改字母的发音或者以区分拼写相似词语。
解决Docker端口映射无法访问问题
这是一个过于沙雕的问题。
你不知道的PHP小技巧之计算文本相似度
有这样一个需求:需要对于用户发布的内容标题进行相似度对比,如果有之前的内容和当前发布的内容标题相似度到达某个阈值时则禁止发布或进行其他的一些操作。
simps/mqtt:适用于 PHP 的 MQTT 协议解析和协程客户端
也许这是第一个支持 MQTT v5.0 协议的 PHP library…
怎么分别给公司和个人项目设置 Git User?
从第一天使用 Git 开始,每个人都逃不过这个配置
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线