Jenkins分支说明符不能设置为子文件夹

时间:2019-12-22 14:35:30

标签: angular git jenkins bitbucket

我在Bitbucket中有一个项目存储库,其中有master分支和dev分支。

我想构建并部署到FTP服务器。 Dev分支由两个文件夹组成,其中一个是backend-laravel,另一个是frontend-角形。

现在在詹金斯大学,我已将Branch specifier设置为:*/dev/frontend/.*

但是此路径不起作用,因为当我开始构建时,它会失败:

... 
+ npm install
npm WARN saveError ENOENT: no such file or directory, open '/var/jenkins_home/workspace/Project/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/var/jenkins_home/workspace/Project/package.json'
npm WARN Project No description
npm WARN Project No repository field.
npm WARN Project No README data
npm WARN Project No license field.
... and the rest ...

我的构建外壳命令是:

npm install
npm run ng -- build --prod

是否有一些插件或其他方法可以进入前端文件夹,以便它可以读取构建所需的文件?

1 个答案:

答案 0 :(得分:1)

您不需要分支说明符。在这里可以指定要使用jenkins构建的分支。您应该将其设置回默认值,否则,詹金斯可能无法构建所有分支。

您需要在前端目录中执行npm install(例如,使用声明性管道)

pipeline {
    agent any

    stages {
        stage('build frontend') {
            steps {
                dir('frontend') {
                    sh 'npm install'
                    sh 'npm run ng -- build --prod'
            }
        }
    }
}