diff --git a/README.md b/README.md index 6f9a36e..469cea2 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,8 @@ These parameters control the commands executed on the remote host and related be | curl_insecure | Allow curl to connect to SSL sites without certificates | false | | capture_stdout | Capture standard output from commands as action output | false | | version | drone-ssh binary version. If not specified, the latest version will be used. | | +| retry_attempts | Number of retries after an SSH connection failure | 0 | +| retry_delay | Delay between retry attempts | 0s | --- @@ -309,6 +311,22 @@ This section covers common and advanced usage patterns, including multi-host, pr script_path: scripts/script.sh ``` +### Retry SSH connection failures + +Use `retry_attempts` to retry transient SSH connection failures, such as `dial tcp ...: i/o timeout`. Retries are disabled by default. Remote command failures are not retried. + +```yaml +- name: Retry transient SSH connection failures + uses: appleboy/ssh-action@v1 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + retry_attempts: 3 + retry_delay: 5s + script: whoami +``` + ### Multiple hosts ```diff diff --git a/README.zh-cn.md b/README.zh-cn.md index 2b2d4ee..5f3ee78 100644 --- a/README.zh-cn.md +++ b/README.zh-cn.md @@ -99,6 +99,8 @@ | curl_insecure | 允许 curl 连接无证书的 SSL 站点 | false | | capture_stdout | 捕获命令的标准输出作为 Action 输出 | false | | version | drone-ssh 二进制版本,未指定时使用最新版本 | | +| retry_attempts | SSH 连接失败后的重试次数 | 0 | +| retry_delay | 每次重试之间的延迟 | 0s | --- @@ -309,6 +311,22 @@ ssh-keygen -t ed25519 -a 200 -C "your_email@example.com" script_path: scripts/script.sh ``` +### 重试 SSH 连接失败 + +使用 `retry_attempts` 重试临时 SSH 连接失败,例如 `dial tcp ...: i/o timeout`。默认不重试。远程命令失败不会重试。 + +```yaml +- name: 重试临时 SSH 连接失败 + uses: appleboy/ssh-action@v1 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + retry_attempts: 3 + retry_delay: 5s + script: whoami +``` + ### 多主机 ```diff diff --git a/README.zh-tw.md b/README.zh-tw.md index f37f5ec..2b2f3df 100644 --- a/README.zh-tw.md +++ b/README.zh-tw.md @@ -99,6 +99,8 @@ | curl_insecure | 允許 curl 連線無憑證的 SSL 網站 | false | | capture_stdout | 擷取指令的標準輸出作為 Action 輸出 | false | | version | drone-ssh 執行檔版本,未指定時使用最新版本 | | +| retry_attempts | SSH 連線失敗後的重試次數 | 0 | +| retry_delay | 每次重試之間的延遲 | 0s | --- @@ -309,6 +311,22 @@ ssh-keygen -t ed25519 -a 200 -C "your_email@example.com" script_path: scripts/script.sh ``` +### 重試 SSH 連線失敗 + +使用 `retry_attempts` 重試暫時性 SSH 連線失敗,例如 `dial tcp ...: i/o timeout`。預設不重試。遠端指令失敗不會重試。 + +```yaml +- name: 重試暫時性 SSH 連線失敗 + uses: appleboy/ssh-action@v1 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + retry_attempts: 3 + retry_delay: 5s + script: whoami +``` + ### 多主機 ```diff