Tag: jenkins

为什么docker主机上的Jenkins响应来自容器内部的HTTP请求?

我在安装了Jenkins和Docker的机器上遇到了一些相当奇怪的行为。 为了清晰起见,Jenkins不是作为Docker容器运行,而是在jenkins用户下运行。 当在容器中运行curl时,我得到一个403: root@ada71c8116bf:/# curl -I www.google.co.uk HTTP/1.1 403 Forbidden Date: Tue, 30 May 2017 13:41:07 GMT X-Content-Type-Options: nosniff Set-Cookie: JSESSIONID.f1223778=36hjq9sozhveoe1bfsss1dnq;Path=/;HttpOnly Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Type: text/html;charset=UTF-8 X-Hudson: 1.395 X-Jenkins: 2.46.3 X-Jenkins-Session: 2836b130 X-You-Are-Authenticated-As: anonymous X-You-Are-In-Group-Disabled: JENKINS-39402: use -Dhudson.security.AccessDeniedException2.REPORT_GROUP_HEADERS=true or use /whoAmI to diagnose X-Required-Permission: hudson.model.Hudson.Read X-Permission-Implied-By: hudson.security.Permission.GenericRead X-Permission-Implied-By: hudson.model.Hudson.Administer Content-Length: 793 […]

jenkins – pipe道(亚马逊EC2容器服务插件)

我刚开始使用Jenkins和Pipeline,并将其与Jenkins Amazon EC2容器服务插件一起使用。 一切正常,到目前为止,我宣布代理,我需要使用它为我的构build,它启动docker形象进行构build并完成任务完成后。 但是,我想我可以同时运行多个任务(对于每个任务,它将运行一个新的docker服务),但是看起来像只有一个从站是可用的。 例如,如果我的从服务器正在执行某些操作,则下一个任务将等待以下消息:“等待下一个可用的执行器在Jenkins-Slave-12cbf90f1ed9上” 我像这样设置pipe道: #!groovy pipeline { agent { label 'maven'} stages { stage('Build') { steps { sh 'mvn clean install' } } } 有没有我没有正确的设置,或者这是如何工作?

如何在Jenkins中将工件推入Docker镜像

我如何使用docker指令创build工件的docker图像。 我正在使用jenkins工作中的“在docker集装箱内build造”。 这是dockerfile中的指令: install openjdk 8`RUN apt-get update && \ apt-get install -y openjdk-8-jdk && \ apt-get install -y ant && \ apt-get clean;` 然后我需要控制Jenkins的工作来执行构build过程。 所以在jenkins Job的Build过程中,执行“Execute Shell”命令并创build工件。 它有一些后期构build操作来运行junittesting用例并运行覆盖报告。 最后,我需要dockerfile来运行指令来创build工件的图像。 添加sourcefile目标文件请build议如何编写docker指令将控制权交给jenkins作业,并在构build过程完成后得到控制权。

如何configurationJenkinsfile来构builddocker镜像并将其推送到私有registry

我有两个问题。 但是,也许我不知道如何为这个问题添加标签,所以我添加了标签。 第一个问题是关于jenkins插件的使用,以烘烤和推动docker形象使用这个 。 下面是我的Jenkinsfile脚本。 我完成了在目标目录中build立jar文件。 然后我想运行这个docker插件来烘焙这件神器。 如你所知,我们需要有一个Dockerfile,所以我把它放在一个git克隆源代码的根目录下。 我如何configuration这个? 我不知道如何做到这一点。 如果我跑下面,jenkins告诉说,没有步骤。 pipeline { agent any stages { stage('build') { steps { git branch: 'master', credentialsId: 'e.joe-gitlab', url: 'http://70.121.224.108/gitlab/cicd/spring-petclinic.git' sh 'mvn clean package' } } stage('verify') { steps { sh 'ls -alF target' } } stage('build-docker-image') { steps { docker.withRegistry('https://sds.redii.net/', 'redii-e.joe') { def app = docker.build("sds.redii.net/e-joe/spring-pet-clinic-demo:v1",'.') […]

当Maven项目版本发生变化时,自动从nexus repo部署到docker

我想用jenkins自动检测我的svn源代码版本的变化。 下面的顺序是我想要的: 推新版本,2.0.0,svn jenkins检测提交更改,并将jar文件打包并部署到nexus maven回购。 当然还有一个新版本的文件夹。 在打包和部署到nexus完成之后,我想触发另一个部署,将jar文件自动部署到我的一个docker引擎主机上。 所以,到目前为止我的问题是:我想在docker中使用wget自动从nexus下载jar文件。 但版本号是某种程度上的系统环境env 。 当jenkins部署到docker时 ,我应该如何获得版本号? 如果有什么不清楚的话,我会试着解释一下。 谢谢。

Jenkinspipe道中的Docker无法运行,因为环境variables无效:=

我试图在jenkinspipe道中运行一个docker容器,如下所示: agent { docker { image 'indiehosters/git' reuseNode true } } 但pipe道无法运行。 看来一个无效的环境variables正在设置docker容器运行时。 我使用Jenkins版本2.65,Dockerpipe道插件1.11,Pipeline插件2.5 Jenkins控制台的堆栈跟踪: java.io.IOException: Failed to run image 'indiehosters/git'. Error: invalid argument "=" for e: invalid environment variable: = See 'docker run –help'. at org.jenkinsci.plugins.docker.workflow.client.DockerClient.run(DockerClient.java:128) at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Execution.start(WithContainerStep.java:179) at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:222) at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:148) at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:18) at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/var/lib/jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:128) […]

Jenkins Job Builder没有创build发布者

希望有人能帮忙 – 我和JJB有一个噩梦。 如果我从我的JJB yaml脚本中注释出版商,它会将任务build立好 – 只要我将任何发布者添加到项目中的任何任务中,我都会收到以下错误: 为组件typesfind重复的入口点:'publisher','publisher',name: 完整的错误 Traceback (most recent call last): File "/usr/local/bin/jenkins-jobs", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/site-packages/jenkins_jobs/cmd.py", line 191, in main execute(options, config) File "/usr/local/lib/python2.7/site-packages/jenkins_jobs/cmd.py", line 372, in execute n_workers=options.n_workers) File "/usr/local/lib/python2.7/site-packages/jenkins_jobs/builder.py", line 350, in update_jobs self.parser.generateXML() File "/usr/local/lib/python2.7/site-packages/jenkins_jobs/parser.py", line 342, in generateXML self.xml_jobs.append(self.getXMLForJob(job)) File "/usr/local/lib/python2.7/site-packages/jenkins_jobs/parser.py", line 352, in […]

从Docker Jenkins实例克隆Git-Hub存储库

当我尝试在Docker容器中执行以下操作时: git clone <GIT_REPO> 我得到这个错误: fatal: unable to access <GIT_REPO>: gnutls_handshake() failed: The TLS connection was non-properly terminated. 为了解决这个问题,我尝试将我的git-hub用户名/密码添加到Jenkins的“credentials”中,并且不起作用。 (PS Git-hub回购在企业github上,我连接到企业networking) 你能指导我如何解决这个问题吗?

Jenkins在RaspberryPi 3(rpi-jenkins)的Docker中连接问题,当克隆一个Bitbucket Git Repo

我目前在Docker的Raspi上玩Jenkins(使用dilgerm / rpi-jenkins图片)。 现在我连接到一个Bitbucket Git存储库有一个问题。 当进入版本库url,我得到(众所周知的)“无法连接到存储库” 当使用https和提供凭据(通过jenkins凭据存储),我得到的错误。 当使用ssh并正确configuration密钥时,我得到相同的错误。 现在我想知道是否必须configurationdocker容器的ssh-key(对于Jenkins用户?)。 目前,我已经实现了主机Raspi本身的关键。 或者可能需要在启动时configuration/发布Docker容器的ssl端口(-p参数)? 任何帮助赞赏。

从官方Dockerfile构buildjenkins docker镜像

我试图从官方jenkins git repobuild立一个jenkins docker镜像: https://github.com/jenkinsci/docker : https://github.com/jenkinsci/docker 。 但是,当我尝试使用docker run -it -dP jenkins的图像的容器docker run -it -dP jenkins ,它立即退出,当我检查docker日志,我得到以下错误: : invalid option 我读了这个错误,可能是因为tini的pid不是1.我查看了文档,看到如果我们做了以下的事情,应该可以解决这个问题。 将-sparameter passing给Tini(tini -s – …)设置环境variablesTINI_SUBREAPER(例如导出TINI_SUBREAPER =)。 但是没有解决任何问题。 以下是使用docker docker build -t jenkins .的Dockerfile的精确副本docker build -t jenkins . : FROM openjdk:8-jdk RUN apt-get update && apt-get install -y git curl && rm -rf /var/lib/apt/lists/* […]