【问题标题】:Github actions scp into VPS via ssh onlyGithub 操作 scp 仅通过 ssh 进入 VPS
【发布时间】:2020-03-06 11:00:29
【问题描述】:

这是我目前的工作流程

name: CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-node@v1
      with:
        node-version: '10.x'
    - run: npm install
    - run: npm install -g @angular/cli > /dev/null
    - run: ng build --prod
    - run: scp -o StrictHostKeyChecking=no -r ./dist/pwa/* user@domain.com://home/user/domain.com/pwa

以上是我在 CircleCI 上的大致翻译。但是,显然上述方法失败了。

CircleCI 允许将“SSH 权限”添加到项目中,因此在设置构建以运行期间,它会将其附加到环境中,从而使 VPS 的任何ssh 命令变得容易。

如何在 Github 中完成类似的方法? Github Actions 是否支持 SSH 权限?如果没有,是否有解决方法?

你们如何通过 ssh(即 scp)将文件从工作流构建复制到外部服务器?

【问题讨论】:

  • 我没有尝试过,但市场上有一些 scp 操作。他们可能值得一试。 github.com/…
  • 当然。会检查他们。谢谢

标签: github github-actions


【解决方案1】:

这就是我在将 SSH 密钥添加到 github 机密后所做的:

run: |
  mkdir -p ~/.ssh
  echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa
  chmod 700 ~/.ssh/id_rsa
  ssh-keyscan -H domain.com >> ~/.ssh/known_hosts
  scp -o StrictHostKeyChecking=no -r ./dist/pwa/* user@domain.com://home/user/domain.com/pwa

【讨论】:

    猜你喜欢
    • 2014-12-21
    • 2021-12-20
    • 2014-09-03
    • 2016-02-17
    • 2022-08-16
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    相关资源
    最近更新 更多