You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ssh-scp-ssh-pipelines/README.md

121 lines
2.5 KiB
Markdown

# SSH SCP SSH Pipelines
[Github actions](https://help.github.com/en/actions/creating-actions/creating-a-docker-container-action)
[SSH action](https://github.com/cross-the-world/ssh-pipeline)
[SCP action](https://github.com/cross-the-world/scp-pipeline)
This action allows doing in order
1. ssh if defined
2. scp if defined
3. ssh if defined
## Inputs
see the [action.yml](./action.yml) file for more detail imformation.
### `host`
**Required** ssh remote host.
### `port`
**NOT Required** ssh remote port. Default 22
### `user`
**Required** ssh remote user.
### `pass`
**NOT Required** ssh remote pass.
### `key`
**NOT Required** ssh remote key as string.
### `connect_timeout`
**NOT Required** connection timeout to remote host. Default 30s
### `first_ssh`
**NOT Required** execute pre-commands before scp.
### `scp`
**NOT Required** scp from local to remote.
**Syntax**
local_path => remote_path
e.g.
/opt/test/* => /home/github/test
### `last_ssh`
**NOT Required** execute pre-commands after scp.
## Usages
see the [deploy.yml](./.github/workflows/deploy.yml) file for more detail imformation.
#### ssh scp ssh pipelines
```yaml
- name: ssh scp ssh pipelines
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
WELCOME: "ssh scp ssh pipelines"
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.DC_HOST }}
user: ${{ secrets.DC_USER }}
pass: ${{ secrets.DC_PASS }}
port: ${{ secrets.DC_PORT }}
connect_timeout: 10s
first_ssh: |
rm -rf /home/github/test
ls -la \necho $WELCOME
mkdir -p /home/github/test/test1 &&
mkdir -p /home/github/test/test2 &&
scp: |
'./test/*' => /home/github/test/
./test/test1* => /home/github/test/test1/
./test/test*.csv => "/home/github/test/test2/"
last_ssh: |
echo $LASTSSH &&
(mkdir test1/test || true)
|| ls -la
```
#### scp ssh pipelines
```yaml
- name: scp ssh pipelines
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.DC_HOST }}
user: ${{ secrets.DC_USER }}
pass: ${{ secrets.DC_PASS }}
scp: |
./test/test1* => /home/github/test/test1/
./test/test*.csv => "/home/github/test/test2/"
last_ssh: |
echo $LASTSSH
ls -la
```
#### scp pipelines
```yaml
- name: scp pipelines
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
with:
host: ${{ secrets.DC_HOST }}
user: ${{ secrets.DC_USER }}
pass: ${{ secrets.DC_PASS }}
scp: |
'./test/*' => /home/github/test/
```