Cleaning up file based variables. ERROR: Job failed: exit code 1

Cleaning up file based variables. ERROR: Job failed: exit code 1

我正在使用 gitlab-ci 来自动构建和发布。在上一份工作中,我想使用 lftp.

将工件上传到远程服务器

$(pwd)/publish/ 地址是在上一个作业中生成的工件。以及在 gitlab Settings --> CI / CD.

中声明的所有变量

这份工作yaml代码:

upload-job:
    stage: upload
    image: mwienk/docker-lftp:latest
    tags:
        - dotnet
    only:
        - master
    script:
        - lftp -e "open $HOST; user $FTP_USERNAME $FTP_PASSWORD; mirror -X .* -X .*/ --reverse --verbose --delete $(pwd)/publish/ wwwroot/; bye"

请注意 lftp 传输我的文件,但是,我不确定我的所有文件都已传输。

我添加了 echo "All files Transfered." 但它从未运行。

管道日志中没有错误和警告,但我收到以下错误:

我不知道它有什么用。有没有人遇到错误并找到任何解决方案?

最后,我通过 lft 命令参数的一些更改解决了问题。

故障排除 ERROR: Job failed: exit code 1 的要点是使用带有 verbose 参数的命令,return 足够的日志可以让您解决问题。另一个重点是知道如何调试 shell 脚本,例如 bashpowershell

此外,您可以 运行 并直接在 shell 中测试命令,这很有帮助。

以下链接有助于解决命令行脚本问题:

How to debug a bash script?

5 Simple Steps On How To Debug a Bash Shell Script

Use the PowerShell Debugger to Troubleshoot Scripts

对于 lftp 日志记录:

How to enable lftp protocol logging?