使用 rsync 上传到登台服务器时 Gitlab 管道失败

Gitlab pipeline fails when using rsync to upload to staging server

我目前正在使用 Gitlab Pipelines 将所有内容上传到我的服务器。

.gitlab-ci.yml上传到暂存文件夹的路径如下所示:

staging_upload:
  stage: staging
  only:
    refs:
      - develop
      - schedules
  script:
    - sshpass -V
    - sshpass -p '$FTP_PASSWORD' rsync --progress -avz -e ssh . $FTP_USERNAME@$HOST:$PATH

执行管道时出现以下错误:

Using "assword" as the default password prompt indicator.
$ sshpass -p '$FTP_PASSWORD' rsync --progress -avz -e ssh . $FTP_USERNAME@$HOST:$PATH
sshpass: Failed to run command: No such file or directory

我已经尝试了各种方法,但 none 我们正在努力。 有人知道这里出了什么问题吗?

  • 希望这个 article 有帮助,我没有使用 rsync 但 scp 应该可以完成工作。
  • gitlab 秘密变量可用于USER_PASS
script:
    - export SSHPASS=$USER_PASS
    - sshpass -e scp -o stricthostkeychecking=no -r directory-to-copy user@host:path-to-copy-files-to