当我尝试通过 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插件。
答案 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
的简单测试步骤,以验证它。