不能 运行 从 Jenkins 构建 flutter

Can't run flutter build from Jenkins

我尝试 运行 使用以下管道代码从 jenkins 构建 flutter :

pipeline {
    agent any

    stages {
        stage('build') {
            steps {
                bat 'C:\path_to_doc\flutter_dev\flutter\bin\flutter.bat build web -t "C:\path_to_doc\lib\src\main\main.dart"'
            }
        }
    }
    post{
        always {
            archiveArtifacts artifacts: 'C:\path_to_doc\build\web\index.html', fingerprint: true, followSymlinks: false
        }
    }
}

我在 jenkins 中遇到了这个错误:

我尝试在我的flutter项目根目录下的一个bat文件中编写flutter构建代码,然后在管道代码上执行这个文件,得到了同样的错误。

避免此错误的正确方法是什么?

Jenkins 习惯于为每个单独的命令恢复到初始工作区目录。尝试在 steps{ 行之后设置目​​录:

dir('C:\path_to_doc\flutter_dev\flutter\bin\') {
    bat 'flutter.bat build web -t "C:\path_to_doc\lib\src\main\main.dart"'
}

这将确保您的脚本 运行 位于该位置。因此,如果您的 pubspec.yaml 在这个位置,它应该能够找到它。无论如何,这是目录的问题,所以如果这不起作用,则需要进行一些手动调试以查看问题所在。