ghcr.io/appleboy/drone-ssh 是 Drone CI/CD 生态里一个常用的插件,主要功能是帮你在自动化流程中通过 SSH 协议连接远程服务器,执行命令或脚本。简单说,就是把「手动登录服务器敲命令」这步操作,变成 CI/CD 流水线里的一个自动环节。
它的核心能力很实用:支持通过 SSH 密钥(推荐,更安全)或密码两种方式认证登录;能同时连接多台服务器批量执行操作;既可以直接写单行命令(比如 git pull systemctl restart app),也能指定本地或远程的脚本文件运行。比如你用 Drone 构建完代码包,下一步就能用它登录到生产服务器,拉取最新代码、解压包、重启服务,整个部署流程一气呵成,不用再手动操作。
用起来也不复杂,在 Drone 的 .drone.yml 配置文件里加一段步骤就行。比如指定服务器地址(host)、端口(默认 22)、登录用户(username),然后通过 key 字段填 SSH 私钥(或者 password 字段填密码),最后用 script 字段写要执行的命令,像这样:
steps:
- name: deploy
image: ghcr.io/appleboy/drone-ssh
settings:
host: example.com
username: root
key:
from_secret: ssh_key # 密钥从 Drone 秘钥管理里取,更安全
script:
- cd /app
- git pull origin main
- docker-compose up -d
除了部署,它还能做很多事:比如定时通过 Drone 触发,用它登录多台服务器执行日志清理、系统更新脚本;或者在测试环节,连接测试服务器跑自动化测试用例。因为支持多主机配置(host 字段填数组),如果你的服务跑在多台机器上,一次就能批量操作,不用挨个来。
这个插件兼容性也不错,支持 Drone 1.x/2.x 版本,服务器端不管是 Linux、macOS 还是其他支持 SSH 的系统都能用。维护也比较活跃,社区里有问题基本能找到解决方案,配置文档写得也清楚,新手照着示例改改就能用。
总的来说,如果你在用 Drone 做 CI/CD,又需要远程服务器执行命令,它是个轻量、可靠的选择——不用自己写 SSH 连接脚本,直接配插件就行,把精力省下来做更重要的事。
请登录使用轩辕镜像享受快速拉取体验,支持国内访问优化,速度提升
docker pull ghcr.io/appleboy/drone-ssh:1.7.3manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务