我正在为一个Angular 6应用程序创建Jenkins CI流程。我创建了一个Multi-Configuration项目,并在配置中选择了以下值:
源代码管理: Git: Repo_URL 要构建的分支:*/master 仓库浏览器:自动
构建触发器: Gerrit事件:已选中
Gerrit触发器: 选择一个服务器:gerrit.*.com 触发方式:创建补丁集 包含正则表达式的添加命令:[Rr][Ee][Vv][Ee][Rr][Ii][Ff][Yy]
动态触发器配置: Gerrit项目: 类型: Plain Pattern: projName 分支: 类型: Plain Pattern: master 构建环境: 将Node & npm bin/文件夹提供给PATH: NodeJS路径 npmrc文件:系统默认
构建: 命令: echo $PATH node --version npm --version npm install -g @angular/cli ng build
当我提交代码或重新验证时,Jenkins会触发构建,但它会获取之前的提交而不是最新的提交来触发构建。
以下是构建日志:
源代码管理: Git: Repo_URL 要构建的分支:*/master 仓库浏览器:自动
构建触发器: Gerrit事件:已选中
Gerrit触发器: 选择一个服务器:gerrit.*.com 触发方式:创建补丁集 包含正则表达式的添加命令:[Rr][Ee][Vv][Ee][Rr][Ii][Ff][Yy]
动态触发器配置: Gerrit项目: 类型: Plain Pattern: projName 分支: 类型: Plain Pattern: master 构建环境: 将Node & npm bin/文件夹提供给PATH: NodeJS路径 npmrc文件:系统默认
构建: 命令: echo $PATH node --version npm --version npm install -g @angular/cli ng build
当我提交代码或重新验证时,Jenkins会触发构建,但它会获取之前的提交而不是最新的提交来触发构建。
以下是构建日志:
10:55:56 Cloning the remote Git repository
10:55:56 Cloning repository ssh://rmp-bot@***
10:55:56 > git init /var/lib/jenkins/workspace/application_name/Patchset-Sonar-CI-master # timeout=10
10:55:56 Fetching upstream changes from ssh://rmp-bot@***
10:55:56 > git --version # timeout=10
10:55:56 using GIT_SSH to set credentials Gerrit ssh user
10:55:56 > git fetch --tags --progress ssh://rmp-bot@*** +refs/heads/*:refs/remotes/origin/*
10:55:57 > git config remote.origin.url ssh://rmp-bot@*** # timeout=10
10:55:57 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
10:55:57 > git config remote.origin.url ssh://rmp-bot@*** # timeout=10
10:55:57 Fetching upstream changes from ssh://rmp-bot@***
10:55:57 using GIT_SSH to set credentials Gerrit ssh user
10:55:57 > git fetch --tags --progress ssh://rmp-bot@*** +refs/heads/*:refs/remotes/origin/*
10:55:57 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
10:55:57 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
10:55:57 Checking out Revision fc96e9e083c368ff963114914fede303d885ae6a (refs/remotes/origin/master)
10:55:57 > git config core.sparsecheckout # timeout=10
10:55:57 > git checkout -f fc96e9e083c368ff963114914fede303d885ae6a
针对其他应用程序的Jenkins设置,不同项目类型的设置是有效的。请告诉我在上述配置中出了什么问题。
我还尝试添加Refspec: refs/changes/:refs/changes/和名称:origin在SCM -> Git -> Repositories中。但仍然遇到相同的问题。