我最近开始使用工作流插件来编写构建版本的脚本。当我尝试运行脚本时,发布失败,因为发布插件抱怨文件未被跟踪。我有一套相同的插件在传统的工作设置中运行和工作良好。
我的设置:
Jenkins Version:1.596
Workflow Plugins : 1.2
OS : Linux 2.6
Build Tool:Apache Maven 3.x
SCM : Git
Release Plugin: JGitFlow (from Atlassian)
我的脚本读取
node {
git branch: 'develop', url:' ******** '
sh 'mvn clean install'
sh 'mvn --batch-mode jgitflow:release-start jgitflow:release-finish -Prelease'
}
当我运行这个脚本(非常简单)时,发布版无法报告存在未跟踪的文件。为了调试这个,我间歇性地添加了一些git状态命令,我可以看到以下文件
- .6e6a43dd/jenkins-log.txt
- .6e6a43dd/pid
- .6e6a43dd/script.sh
当我使用shell命令行在工作区上运行"git status"时,它会说我没有未跟踪的更改。
有指针吗?
这被追踪为JENKINS-27152。解决方法是在.gitignore
中列出这样的"控制"目录,这样Maven发布插件(以及类似的插件)就不会抱怨它们的存在。