使用 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/[email protected]
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          port: ${{ secrets.PORT }}
          password: ${{ secrets.PASS }}
          script: |
            cd myfolder
            git pull

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

以上都给我一个错误:

Run appleboy/[email protected]
/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

我究竟做错了什么?

VonC

appleboy/ssh-action假设作为参数使用host,以接触,使用ssh键或登录/ passord。

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章