我正在尝试使用GitHub为一个项目设置Jenkins-ci.我已经使用适当的插件设置了Jenkins.我希望Jenkins只在项目中有人推动掌握时运行构建脚本.到目前为止,我已经能够设置它,以便在任何人推送到任何地方时都会触发构建,但这太宽泛了.我在Git上使用post-receive服务挂钩完成了这个.
我已经阅读了Jenkins wiki和一些教程,但缺少这个特殊的细节......它可能与民意调查有关吗?或者应该在Git方面完成工作,这样Git只会在master更改时触发Jenkins ?
Jenkins有Gerrit插件,所以当我们签入gerrit时,Jenkins执行构建,如果成功,则验证gerrit的修改.如果构建失败则不然.我的理解是,这是通过在詹金斯建立的工作来实现的.我们现在已经创建了一个新的分支(git),我想我需要克隆指向另一个分支的现有作业,以便发生相同的工作流并在每次提交时执行构建.有人可以解释我将如何克隆这些工作.我似乎没有看到通过UI做到这一点的方法,甚至我也看不到通过UI列出作业的方法.
最近在Jenkins中运行的Maven构建作业失败,出现以下异常,表示它们无法从Maven Central 中提取依赖项,应使用HTTPS。我不确定如何将请求从HTTP更改为HTTPS。有人可以指导我解决这个问题吗?
[错误] 无法解析的构建扩展:
插件org.apache.maven.wagon:wagon-ssh:2.1或其依赖项之一无法解析:
无法收集依赖项org.apache.maven.wagon:wagon-ssh:jar:2.1 ():
无法读取工件描述符org.apache.maven.wagon:wagon-ssh:jar:2.1:
无法org.apache.maven.wagon:wagon-ssh:pom:2.1从/向中央(http://repo.maven.apache. org/maven2):
无法传输文件:http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom。
返回代码为:501, ReasonPhrase:HTTPS Required. -> [Help 2]等待Jenkins完成收集
data[ERROR]
插件org.apache.maven.plugins:maven-clean-plugin:2.4.1或其依赖项之一无法解决:
无法读取工件描述符org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1:
无法org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1从/向中央传输工件(http://repo.maven.apache.org/maven2):
无法传输文件:http : //repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom。
返回代码为:501 , ReasonPhrase:HTTPS Required. -> [Help 1]
在编写jenkins管道时,为了查看它是否有效,提交每个新更改似乎非常不方便.
有没有办法在不提交代码的情况下在本地执行这些?
我有Hudson作为持续集成服务器,我想使用选项'发布JUnit测试结果报告'.但是我不使用xUnit工具进行测试,而是使用shell脚本运行测试并以简单格式返回结果.我想创建一个脚本,将这些结果转换为JUnit格式.所以我很有趣JUnit文件必须看起来如何?
这可能很简单,但我无法在任何地方找到任何提示.那么一般来说,特别是在Mac上应该如何做到这一点?
有没有办法在我的项目的GitHub Readme.md上显示Jenkins构建状态?
我使用Jenkins运行持续集成构建.在每次提交之后,它确保在最终生成文档和发行包之前编译所有内容,以及执行单元和集成测试.
仍然存在无意中犯下破坏构建的东西的风险.访问GitHub项目页面的用户知道当前主服务器处于该状态会很好.
我们的Jenkins服务器有一个已经运行了三天但没有做任何事情的工作.单击角落中的小X不会执行任何操作,控制台输出日志也不会显示任何内容.我已经检查了我们的构建服务器,并且该作业实际上似乎根本没有运行.
有没有办法通过编辑某个文件或锁定或其他东西告诉詹金斯这项工作是"完成"的?由于我们有很多工作,我们真的不想重启服务器.
我在Docker容器中运行Jenkins.我想知道Jenkins容器是否也可以成为Docker主机?我正在考虑的是从Jenkins内部为每个集成测试构建启动一个新的docker容器(以启动数据库,消息代理等).因此,在完成集成测试后应关闭容器.有没有理由避免以这种方式从另一个docker容器内运行docker容器?
我有jenkins的问题,设置"git",显示以下错误:
Failed to connect to repository : Command "git ls-remote -h https://person@bitbucket.org/person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)
我用ssh测试过:
git@bitbucket.org:person/projectmarket.git
Run Code Online (Sandbox Code Playgroud)
这是错误:
Failed to connect to repository : Command "git ls-remote -h git@bitbucket.org:person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我也用"SSH密钥"完成了这些步骤.
在Jenkins下登录
sudo su jenkins
Run Code Online (Sandbox Code Playgroud)
将您的github密钥复制到Jenkins .ssh文件夹
cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/
Run Code Online (Sandbox Code Playgroud)
重命名密钥
mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
但仍然没有在詹金斯工作git存储库. …