- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
刚刚在 Ubuntu 12.04 中安装了 Jenkins,我想创建一个简单的构建,它只是克隆一个项目并构建它。
它失败了,因为它不能标记。它不能标记,因为它错误地说“告诉我你是谁”显然是因为我没有设置 git 设置 UserName 和 UserEmail。
但是,我不需要设置这些,Jenkins 只会克隆存储库,如果它不打算推送更改,为什么它需要凭据,为什么它根本需要做一个标签?
完整的错误日志是:
Started by user anonymous
Checkout:workspace / /var/lib/jenkins/jobs/Foo.Bar.Baz/workspace - hudson.remoting.LocalChannel@38e609c9
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
Fetching upstream changes from git@mygithost.mydomain.local:foo-bar-baz/foo-bar-baz.git
Seen branch in repository origin/1.0
Seen branch in repository origin/1.5.4
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
Checking out Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
FATAL: Could not apply tag jenkins-Foo.Bar.Baz-2
hudson.plugins.git.GitException: Could not apply tag jenkins-Foo.Bar.Baz-2
at hudson.plugins.git.GitAPI.tag(GitAPI.java:737)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1320)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1268)
at hudson.FilePath.act(FilePath.java:758)
at hudson.FilePath.act(FilePath.java:740)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1268)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1193)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:565)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:453)
at hudson.model.Run.run(Run.java:1376)
at hudson.matrix.MatrixBuild.run(MatrixBuild.java:220)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:175)
at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
Caused by: hudson.plugins.git.GitException: Command "git tag -a -f -m Jenkins Build #2 jenkins-Foo.Bar.Baz-2" returned status code 128:
stdout:
stderr:
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident <jenkins@somehostname.(none)> not allowed
at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:786)
at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:748)
at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:758)
at hudson.plugins.git.GitAPI.tag(GitAPI.java:735)
... 13 more
最佳答案
在提取/克隆 repo 时标记的想法对于大多数 Build Scheduler 都很常见:
Hudson-Jenkins,还有CruiseControl (构建标签由 labelincrementer
决定),或 RTC Jazz Build Engine (where they are called "snapshots") .
想法是将输入的持久记录设置为构建。
这样,您 pull 的代码(即使未标记)也会由构建调度程序自动为您标记,以便稍后能够返回到该特定构建。
如果设置了该策略(总是在构建之前标记),那么 Jenkins 将需要知道你是谁才能创建一个 git 标记(它是一个附加了作者的 git 对象:user。姓名
和 user.email
)。
但是,如“Why hudson/jenkins tries to make commit?”中所述:
Checks "
Skip internal tag
" config under "Advanced...
" in section "Source code management
".
这应该避免您似乎不需要的额外标记步骤。
关于git - Jenkins + git : "tell me who you are" error, 为什么要打标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122913/
有什么区别?据我了解,Tell (object, IActorRef) 发送原始发件人。但为什么不只使用 Forward 方法呢? 谢谢 最佳答案 您可以将actorRef.Tell(msg) 视为a
我是 akka 的初学者。有人可以向我解释为什么 tell 方法定义如下: receiver.tell(msg, sender); 在我看来,有人向其他人发送消息,在 OOP 中它会这样: sende
每次运行此脚本时,我都会收到此错误:系统事件出现错误:“Test123”不理解通知消息。 代码: --more code... tell application "System Events"
在 Core Python Programming 这本书中,有以下示例 - >>> f = open('/tmp/x', 'w+')>>> f.tell()0>>> f.write('test li
能否请您告诉我 off_t tell(int fd) 函数在 Mac OS X 中的何处定义?它不在 fcntl.h 中,也不在 unistd.h 中,它在 UNIX 中定义...我不能使用 >fte
Python tell()函数:获得当前读取位置 文件可以被看作是字节流或者字符流。第一个读入的字符是在该流的第 0 个位置上。如果读入了 5 个字符,则现在在该流的第 5 个位置上。 我们可以用 t
版本 3.1.3(如果相关)。 这个建议现在可能有效,但将来会有效吗? NSString *device = [UIDevice currentDevice].model; if([device is
docker异常停止时,第一时间找不到。 有没有办法在它停止时通过邮件或其他任何方式发送给我? 我用shipyard来管理,但是没有这个功能。 我能否找到一种方法来监控docker意外停止并向用户发送
我在使用 Java 套接字 API 时遇到了一些问题。我正在尝试显示当前连接到我的游戏的玩家数量。很容易确定玩家何时已连接。然而,使用套接字 API 来确定玩家何时断开连接似乎不必要地困难。 在已远程
我在使用 Java 套接字 API 时遇到了一些问题。我正在尝试显示当前连接到我的游戏的玩家数量。很容易确定玩家何时已连接。然而,使用套接字 API 来确定玩家何时断开连接似乎不必要地困难。 在已远程
我正在尝试复制 Compass 应用程序中的功能 - 但我卡在了一个特定的位置:我如何确定界面中的“向上”方向? 我在屏幕上有一个标签,并且我有以下代码可以在设备四处移动时使其保持水平: self.m
我开始学习Akka并从official guid下载了示例: 我不明白tell方法第二个参数的用法: 在main方法中写入: howdyGreeter.tell(new WhoToGreet("Akk
我想在我的应用程序中添加一个“告诉 friend ”选项,允许用户选择多个联系人向他们发送电子邮件。联系人需要过滤为仅拥有电子邮件地址的联系人。 有谁知道我可以重复使用的现成示例吗? 最佳答案 我最近
我不明白为什么 tell() 函数在这种情况下不起作用。让我们创建一个包含字符串“1\n2\n3\n4\n”的文件: f=open('test.tmp','w') f.write('1\n2\n3\n
我正在尝试打开一个文件并从上次读取的点开始读取。我的文件相当大(20 Mb 到 ~ 1 Gb) 经过一些研究后,似乎 tell() 和 seek() 将是执行此操作的最有效方法之一。我试过下面的代码
我在使用 Java 套接字 API 时遇到了一些问题。我正在尝试显示当前连接到我的游戏的玩家数量。很容易确定玩家何时已连接。然而,使用套接字 API 来确定玩家何时断开连接似乎不必要地困难。 在已远程
我在 Windows 上使用 Python 2.7,我是 Python 的新手,如果这很简单,请原谅我。 我读过的所有内容都说 tell() 返回“位置”,我相信这基本上是我们当前在阅读中所处的光标位
有没有人碰巧知道为什么要以这种方式遍历文件: 输入: f = open('test.txt', 'r') for line in f: print "f.tell(): ",f.tell()
试图在读取一行后使用tell() 获取光标位置。 text mode 和 \r 似乎有问题。我是在滥用该方法还是它是一个错误?谢谢。 用 python2.6、2.7、3.3 测试,输出相同。 impo
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭12 年前。 Improve th
我是一名优秀的程序员,十分优秀!