文档中并没有关于 SSH 方面的东西,虽然不属于 Github Actions 范畴,但经常用到,并且确实要花费一些时间去检索用法,甚至调试很久。
此文是为了记录经过验证的示例代码,方便日后或他人参考和使用。
需求
当 push 代码到仓库时,触发部署流程,在 actions 中通过 ssh 操作远程服务器实现。
代码
1 | name: deploy |
小结
主要是两个部分:
secrets.SERVER_SSH_PRIV_KEY
是用来访问远程服务器的私钥,具体:
- 生成密钥对(见文末参考链接)
- 在远程服务器上添加公钥 (将公钥添加到服务器的
~/.ssh/authorized_keys
文件中) - 在 Github 仓库设置私钥 (
Settings > Secrets
)
secrets.SERVER_IP
是远程服务器地址;