Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
|
7179e72a3f | |
|
eb443bd494 | |
|
9132c85c5f | |
|
7f18bf0ec8 | |
|
35c03a241d | |
|
8b7c180c3f |
|
@ -18,7 +18,7 @@ jobs:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Setup go
|
- name: Setup go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v6
|
||||||
with:
|
with:
|
||||||
go-version: "^1"
|
go-version: "^1"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
name: v1 version
|
||||||
|
on: [push]
|
||||||
|
jobs:
|
||||||
|
testing:
|
||||||
|
name: test scp action
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: copy file via ssh password
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
password: ${{ secrets.PASSWORD }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: "tests/a.txt,tests/b.txt"
|
||||||
|
target: "test"
|
||||||
|
|
||||||
|
- name: copy file via ssh key
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: "tests/a.txt,tests/b.txt"
|
||||||
|
target: "test"
|
||||||
|
|
||||||
|
- name: remove the specified number of leading path elements
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: "tests/a.txt,tests/b.txt"
|
||||||
|
target: "foobar"
|
||||||
|
strip_components: 1
|
||||||
|
|
||||||
|
- name: ssh key with passphrase
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.SSH2 }}
|
||||||
|
passphrase: ${{ secrets.PASSPHRASE }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: "tests/a.txt,tests/b.txt"
|
||||||
|
target: "test"
|
||||||
|
|
||||||
|
- name: use insecure cipher
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.SSH2 }}
|
||||||
|
passphrase: ${{ secrets.PASSPHRASE }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: "tests/a.txt,tests/b.txt"
|
||||||
|
target: "test"
|
||||||
|
use_insecure_cipher: true
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
name: test deploy artifact
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- run: echo hello > world.txt
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: my-artifact
|
||||||
|
path: world.txt
|
||||||
|
|
||||||
|
- uses: actions/download-artifact@v5
|
||||||
|
with:
|
||||||
|
name: my-artifact
|
||||||
|
path: distfiles
|
||||||
|
|
||||||
|
- name: copy file to server
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: distfiles/*
|
||||||
|
target: test
|
||||||
|
|
||||||
|
changes:
|
||||||
|
name: test changed-files
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Get changed files
|
||||||
|
id: changed-files
|
||||||
|
uses: tj-actions/changed-files@v47
|
||||||
|
with:
|
||||||
|
since_last_remote_commit: true
|
||||||
|
separator: ","
|
||||||
|
|
||||||
|
- name: copy file to server
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: ${{ steps.changed-files.outputs.all_changed_files }}
|
||||||
|
target: test
|
||||||
|
|
||||||
|
target:
|
||||||
|
name: test target folder
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: copy file to server
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
source: tests/a.txt,tests/b.txt
|
||||||
|
target: foobar foobar 1234
|
||||||
|
|
||||||
|
multipleHost:
|
||||||
|
name: test Multiple Host
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: copy file to server
|
||||||
|
uses: appleboy/scp-action@v1
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}:${{ secrets.PORT }},${{ secrets.HOST }}:${{ secrets.PORT }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
port: 1024
|
||||||
|
source: tests/a.txt,tests/b.txt
|
||||||
|
target: foobar
|
|
@ -6,7 +6,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: copy file via ssh password
|
- name: copy file via ssh password
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -67,7 +67,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- run: echo hello > world.txt
|
- run: echo hello > world.txt
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ jobs:
|
||||||
name: my-artifact
|
name: my-artifact
|
||||||
path: world.txt
|
path: world.txt
|
||||||
|
|
||||||
- uses: actions/download-artifact@v4
|
- uses: actions/download-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: my-artifact
|
name: my-artifact
|
||||||
path: distfiles
|
path: distfiles
|
||||||
|
@ -96,11 +96,11 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Get changed files
|
- name: Get changed files
|
||||||
id: changed-files
|
id: changed-files
|
||||||
uses: tj-actions/changed-files@v45
|
uses: tj-actions/changed-files@v47
|
||||||
with:
|
with:
|
||||||
since_last_remote_commit: true
|
since_last_remote_commit: true
|
||||||
separator: ","
|
separator: ","
|
||||||
|
@ -120,7 +120,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: copy file to server
|
- name: copy file to server
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -137,7 +137,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: copy file to server
|
- name: copy file to server
|
||||||
uses: ./
|
uses: ./
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
[GitHub Action](https://github.com/features/actions) for copying files and artifacts via SSH.
|
[GitHub Action](https://github.com/features/actions) for copying files and artifacts via SSH.
|
||||||
|
|
||||||
|
[](https://github.com/appleboy/scp-action/actions/workflows/stable.yml)
|
||||||
[](https://github.com/appleboy/scp-action/actions/workflows/testing.yml)
|
[](https://github.com/appleboy/scp-action/actions/workflows/testing.yml)
|
||||||
|
|
||||||
> **Note:** Only supports **Linux** [docker](https://www.docker.com/) containers.
|
> **Note:** Only supports **Linux** [docker](https://www.docker.com/) containers.
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
[GitHub Action](https://github.com/features/actions) 用于通过 SSH 复制文件和构建产物。
|
[GitHub Action](https://github.com/features/actions) 用于通过 SSH 复制文件和构建产物。
|
||||||
|
|
||||||
|
[](https://github.com/appleboy/scp-action/actions/workflows/stable.yml)
|
||||||
[](https://github.com/appleboy/scp-action/actions/workflows/testing.yml)
|
[](https://github.com/appleboy/scp-action/actions/workflows/testing.yml)
|
||||||
|
|
||||||
> **注意:** 仅支持 **Linux** [docker](https://www.docker.com/) 容器。
|
> **注意:** 仅支持 **Linux** [docker](https://www.docker.com/) 容器。
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
[GitHub Action](https://github.com/features/actions) 用於透過 SSH 複製檔案與產物。
|
[GitHub Action](https://github.com/features/actions) 用於透過 SSH 複製檔案與產物。
|
||||||
|
|
||||||
|
[](https://github.com/appleboy/scp-action/actions/workflows/stable.yml)
|
||||||
[](https://github.com/appleboy/scp-action/actions/workflows/testing.yml)
|
[](https://github.com/appleboy/scp-action/actions/workflows/testing.yml)
|
||||||
|
|
||||||
> **注意:** 只支援 **Linux** [docker](https://www.docker.com/) 容器。
|
> **注意:** 只支援 **Linux** [docker](https://www.docker.com/) 容器。
|
||||||
|
|
|
@ -39,8 +39,12 @@ if [[ "${INPUT_CURL_INSECURE}" == 'true' ]]; then
|
||||||
INSECURE_OPTION="--insecure"
|
INSECURE_OPTION="--insecure"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl -fsSL --retry 5 --keepalive-time 2 ${INSECURE_OPTION} "${DOWNLOAD_URL_PREFIX}/${CLIENT_BINARY}" -o "${TARGET}"
|
if [[ ! -x "${TARGET}" ]]; then
|
||||||
chmod +x "${TARGET}"
|
curl -fsSL --retry 5 --keepalive-time 2 ${INSECURE_OPTION} "${DOWNLOAD_URL_PREFIX}/${CLIENT_BINARY}" -o "${TARGET}"
|
||||||
|
chmod +x "${TARGET}"
|
||||||
|
else
|
||||||
|
echo "Binary ${CLIENT_BINARY} already exists and is executable, skipping download."
|
||||||
|
fi
|
||||||
|
|
||||||
echo "======= CLI Version Information ======="
|
echo "======= CLI Version Information ======="
|
||||||
"${TARGET}" --version
|
"${TARGET}" --version
|
||||||
|
|
Loading…
Reference in New Issue