docs: document retry feature

This commit is contained in:
james-tindal 2026-06-08 12:27:57 +03:00
parent c672036ff2
commit 2168c3d3c7
3 changed files with 54 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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