Jenkins - 使用NoHeadException标记构建失败

时间:2017-10-10 19:18:32

标签: eclipse git jenkins tags

当我尝试通过 Jenkins 标记特定版本时,出现以下错误:

class ViewController: UIViewController, DayViewTappedDelegate {
    @IBOutlet var dayBtns : [DayView]!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        for i in 0 ..< dayBtns.count {
            let date = Date().addingTimeInterval(TimeInterval(86400 * i))
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = "dd"

            dayBtns[i].dateLbl.text = dateFormatter.string(from: date)
            dayBtns[i].dateLbl.textAlignment = .center
            dayBtns[i].setDelegateAndTap(self)
        }
    }

    func daySelected(_ selectedLabelText: String) {
        print(selectedLabelText)
    }
}

当试图在工作区中标记它工作正常,HEAD实际上是附加的,git refs看起来很好,这可能是一个问题,当Jenkins试图标记它是在查找错误的工作目录?

有没有办法根据它试图标记的方式提取更详细的日志?

仅供参考 - 使用Jenkins 2.81和swarm Linux代理,使用最新的Git插件。

1 个答案:

答案 0 :(得分:0)

考虑actual code throwing the exception

    try (RevWalk revWalk = new RevWalk(repo)) {
        // if no id is set, we should attempt to use HEAD
        if (id == null) {
            ObjectId objectId = repo.resolve(Constants.HEAD + "^{commit}"); //$NON-NLS-1$
            if (objectId == null)
                throw new NoHeadException(
                    JGitText.get().tagOnRepoWithoutHEADCurrentlyNotSupported);

仔细检查您的配置:请参阅&#34; Jenkins Git plugin detached HEAD&#34;。你需要确保Jenkins确实检查了一个分支 例如,尝试在其中添加一个带有git status的简单测试步骤,以验证它。