使用Github Actions推送到个人VPS



我使用的是appleboy/ssh-action@master,我设置了一个github动作,试图在推送到github后在我的服务器上拉更改。

name: Deploy to VPS
on:
push:
branches: [master, dev]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy App
uses: appleboy/ssh-action@v0.1.2
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
password: ${{ secrets.PASS }}
script: |
cd myfolder
git pull

我在上面使用了密码身份验证,我还对key: ${{ secrets.SSHKEY }}使用了ssh身份验证而不是密码

以上两个都抛出错误:

Run appleboy/ssh-action@v0.1.2
/usr/bin/docker run --name 645231_39754c --label 48c8ce --workdir /github/workspace --rm -e INPUT_HOST -e INPUT_USERNAME -e INPUT_PORT -e INPUT_PASSWORD -e INPUT_SCRIPT -e INPUT_PASSPHRASE -e INPUT_SYNC -e INPUT_USE_INSECURE_CIPHER -e INPUT_CIPHER -e INPUT_TIMEOUT -e INPUT_COMMAND_TIMEOUT -e INPUT_KEY -e INPUT_KEY_PATH -e INPUT_FINGERPRINT -e INPUT_PROXY_HOST -e INPUT_PROXY_PORT -e INPUT_PROXY_USERNAME -e INPUT_PROXY_PASSWORD -e INPUT_PROXY_PASSPHRASE -e INPUT_PROXY_TIMEOUT -e INPUT_PROXY_KEY -e INPUT_PROXY_KEY_PATH -e INPUT_PROXY_FINGERPRINT -e INPUT_PROXY_CIPHER -e INPUT_PROXY_USE_INSECURE_CIPHER -e INPUT_SCRIPT_STOP -e INPUT_ENVS -e INPUT_DEBUG -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/myproject/myproject":"/github/workspace" 48c8ce:9865421398654
======CMD======
cd myproject
git pull
======END======
2021/08/15 21:58:52 Process exited with status 1
err: fatal: could not read Username for 'https://github.com': No such device or address

我做错了什么?

appleboy/ssh-action应该使用作为参数的host来联系,使用ssh密钥或登录/密码。

但是一旦连接建立,执行的命令取决于远程环境:如果SSH访问的远程机器上的git存储库有HTTPS URL,则不会使用SSH密钥。

即使它有SSH密钥,它仍然不会使用SSH -action插件中的任何密钥。它将使用已经存储在远程服务器主帐户上的~remoteUser/.ssh/id_rsa默认密钥
如果该密钥存在,则允许访问远程GitHub私有存储库,那么您需要将其源更改为使用SSH URL:

script: |
cd myfolder
git remote set-url origin git@github.com:<user>/<repo>
# or, alternatively
git config --global url."git@github.com:".insteadOf https://github.com/
git pull

最新更新