【发布时间】:2021-07-28 20:35:43
【问题描述】:
我想使用 ssh 将我的 NodeJS GitHub 项目部署到我的 VP,所以我在 .github/workflows 中制作了这个脚本:
name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Install npm dependencies
run: npm install
- name: Run build task
run: npm run build --if-present
- name: Deploy to Server
uses: easingthemes/ssh-deploy@v2.2.11
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY }}
ARGS: "-rltgoDzvO --delete"
SOURCE: "/"
REMOTE_HOST: ${{ secrets.HOST }}
REMOTE_USER: ${{ secrets.USERNAME }}
TARGET: ${{ secrets.FOLDER_TARGET }}
EXCLUDE: "/dist/, /node_modules/"
我在我的存储库密钥中输入所有信息。
为了生成 ssh 密钥,我使用以下命令:
ssh-keygen -m PEM -t rsa -b 4096 没有转述。
而且我在 SSH_KEY 值中传递了 ~/.ssh/id_rsa` 字符串
但毕竟,我在运行动作脚本时遇到了这个错误:
Run easingthemes/ssh-deploy@v2.2.11
[general] GITHUB_WORKSPACE: /home/runner/work/Litopia.fr/Litopia.fr
[SSH] Creating /home/runner/.ssh dir in /home/runner/work/Litopia.fr/Litopia.fr
✅ [SSH] dir created.
[SSH] Creating /home/runner/.ssh/known_hosts file in /home/runner/work/Litopia.fr/Litopia.fr
✅ [SSH] file created.
✅ Ssh key added to `.ssh` dir /home/runner/.ssh/deploy_key
[Rsync] Starting Rsync Action: /home/runner/work/Litopia.fr/Litopia.fr// to ***@***:***
[Rsync] exluding folders /dist/,/node_modules/
⚠️ [Rsync] error: rsync exited with code 255
⚠️ [Rsync] stderr: Warning: Permanently added '***,82.65.27.189' (ECDSA) to the list of known hosts.
Permission denied, please try again.
Permission denied, please try again.
***@***: Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.3]
⚠️ [Rsync] stdout:
⚠️ [Rsync] cmd: rsync /home/runner/work/Litopia.fr/Litopia.fr// ***@***:*** --rsh "ssh -p 22 -i /home/runner/.ssh/deploy_key -o StrictHostKeyChecking=no" --recursive --exclude=/dist/ --exclude=/node_modules/ -rltgoDzvO --delete
1: 0x9da7c0 node::Abort() [/home/runner/runners/2.278.0/externals/node12/bin/node]
2: 0xa4e219 [/home/runner/runners/2.278.0/externals/node12/bin/node]
3: 0xba5d59 [/home/runner/runners/2.278.0/externals/node12/bin/node]
4: 0xba7b47 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/home/runner/runners/2.278.0/externals/node12/bin/node]
5: 0x13750d9 [/home/runner/runners/2.278.0/externals/node12/bin/node]
【问题讨论】:
-
您是否在 /home/USERNAME/.ssh/authorized_keys 的服务器上添加了 USERNAME 公钥?这是一个 ssh 权限问题,与 rsync 没有直接关系。
标签: node.js git ssh gitlab-ci gitlab-ci-runner