Tag: jenkins

如果我的docker运行hello-world出于任何原因失败,我怎么能jenkins失败?

大家好我使用jenkins执行初始安装。 这是我的脚本: # Setup installation repository yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo yum makecache fast # Install yum install docker-ce # Run systemctl start docker # Test docker run hello-world #Add user to the group usermod -aG docker root 如果我的docker运行hello-world出于任何原因失败,我怎么能jenkins失败。 有人知道这个剧本吗? Iam从我的Jenkins主服务器的“Execute Shell”占位符运行shell脚本,它执行我的从节点上的所有事情。 这是一个好主意吗 ??

docker.image.withRun中的多个卷,用于Jenkinspipe道

我有下一块Jenkinspipe道,我尝试从主机到容器装入几个docker卷: docker.image('ubuntu:latest').withRun("-d=false –privileged -v /home/jenkins/workspace/${env.JOB_NAME}:/local " + "-v /dev/vboxdrv:/dev/vboxdrv" ) {id -> sh "docker logs ${id.id}" } 但是,这段代码总是失败,出现下一个错误: java.io.IOException: Cannot retrieve .Config.Hostname from 'docker inspect. 当我使用单个挂载点时,它运行良好,没有任何错误。 不幸的是,我没有find一个很好的文档,清楚地解释了与运行方法的语法。 你能告诉我在这里做错了什么吗?

与Docker容器交谈时更新本地/ etc / hosts

我maven POM文件创builddocker容器与testing服务。 它还运行必须与这些容器中的服务对话的testing。 容器可以使用在docker-compose.yml文件中定义为链接的主机名相互交谈,例如: kafka: image: spotify/kafka hostname: kafka environment: ADVERTISED_HOST: kafka ADVERTISED_PORT: 9092 ports: – "9092:9092" our_service: build: ../../logstash/ ports: – "8081:8080" links: – kafka 这是因为每个容器的/etc/hosts文件都包含带有到集群中其他容器的链接的条目。 但是,在群集之外,运行Maventesting的地方/etc/hosts没有更新,我不希望它被更新,因为它将在Jenkins CI上运行。 当然,我的testing可以通过localhost:9092与Kafka交谈,但Kafka要求生产者连接到kafka主机,而不是本地主机,如果它已经在kafka名下广告了。 我怎么解决这个问题: 在Docker容器中运行Maventesting,但是这需要Maven项目来运行另一个Maven项目。 在运行时在程序中更新JVM的DNScaching。 这两个对我来说都是一个肮脏的解

得到curl:(52)从jenkins工作运行时从服务器的空回复(只有与我使用docker运行的工作问题)

我似乎遇到了一些curl的问题,我已经创build了一个自由式的jenkins的工作,以build立和部署一个基本的问候世界docker形象。 构build和部署工作正常,但我运行了一个curl命令来testing部署,它总是失败的工作 下面是我跑的脚本 npm install docker build -t rvarg11/helloworld2 . docker rm -f dockertest docker run -d -p 3000:3000 –name dockertest rvarg11/helloworld2 curl -f http://127.0.0.1:3000 当Jenkins到达curl命令时,作业失败并出现下面的错误 curl -f http://127.0.0.1:3000%总计%接收%Xferd平均速度时间时间时间当前正在下载总耗费左速度 0 0 0 0 0 0 0 0 – : – : – – : – : – – : – : – 0 0 0 […]

在Heroku容器registry中使用Jenkins部署Docker镜像

我试图在Heroku上部署jenkinsci / docker ,并且在编写我的Dockerfile时遇到问题。 当我推Herku容器registry上的Docker图像通过heroku container:push web ,我得到一个错误Your Docker image must specify a 'CMD' instruction 。 但是,我必须写一个命令来在Heroku的容器中运行Jenkins? 提前致谢!

如何使用未在群中部署的docker容器访问docker群的服务?

我在docker群中部署了Jenkins和Nexus。 jenkins有一个dockerconfiguration为通过套接字访问主机docker。 volumes: – /var/run/docker.sock:/var/run/docker.sock 这个设置允许在Docker群中部署jenkins里面的docker,这个工作正常。 我面临的问题,但是当我试图build立与docker集装箱jenkinspipe道,随后试图访问nexus存储库。 基本上jenkins的群集被部署在覆盖networking内,而jenkinspipe道使用的容器无法访问覆盖networking。 Dockernetworking如下所示: docker network ls: … wzr8yyx6hki1 ci-cd-network overlay swarm .. 样品jenkinspipe道演示过程: pipeline { agent none triggers { pollSCM('H/15 * * * *') } environment { NODE_IMAGE = 'node:6' } stages { stage('Checkout') { agent any steps { /*generated with jenkins syntax generator*/ checkout([$class: 'GitSCM', branches: [[name: '*/master']], […]

在docker容器中安装包

我想知道如何在Docker容器中安装包。 我的用例是,我有一个jenkins服务器,只有几种代理,包括一个docker代理模板,如果没有虚拟机环境,默认情况下会导致一个docker容器被创build,并被用于每个没有默认标签的构build。 问题是,如果可能的话,如何以一种安全的方式,在这样一个docker容器中构build之前安装依赖关系? 我不认为为不同的项目提供不同的需求是一个很好的想法,每次某个项目需要依赖项时修改单个图像可能会使这个图像膨胀,以防我需要这些图像。 但通常,出于安全原因,容器内部不存在根访问权限。 如何应对这种情况/有什么可能的select?

如何传递本地文件的文件path对于通过Jenkins Job在Selenium Grid Docker上运行的Selenium Web Automation

我有一个Jenkins Job,它使用Selenium Grid Docker运行我的Selenium Web自动化项目。 Docker正在testing服务器上运行。 我能够成功地运行这项工作,直到我必须通过一个文件(一个图像文件),我必须在网页上上传。 现在,当我在本地运行代码时,它可以正常工作,因为映像文件位于本地计算机文件夹中,并且可以通过我已经通过的path进行访问。 但在jenkins的情况下,本地文件的位置不可访问,我得到文件未findexception。 所以我的问题是如何传递本地文件path,以便它可以从jenkins访问。 在后台,Jenkins服务器连接到GIT / Stash,从中select自动化代码。

将war文件部署到docker

我有两个stream浪虚拟机 – 主从。 Master包含转发端口8080的Jenkins暴露给主机, apache tomcat8.0.37服务器转发端口8083到主机。 从站包含apache tomcat 8.0.42服务器的docker镜像 ,转发端口8082到主机。 我已经成功创build了一个war文件,并将其部署到在主VM上运行的tomcat服务器。 但是,我如何使用jenkins将Master VM中生成的相同war文件部署到Slave VM上的tomcat Docker容器? 当我使用jenkins中的docker插件将docker容器连接设置为http:// localhost:8082 (我可以在浏览器中访问tomcat)时,它说连接被拒绝。 如何将战争文件主虚拟机部署到从VM的泊坞窗容器上的webapps文件夹?

如何将正则expression式作为ulr中的查询parameter passing给Papartrail

先决条件: 我在Heroku上部署了Jenkins的Docker镜像,我需要inputInitial Admin Password ,这个Initial Admin Password必须保存在/var/jenkins_home/secrets/initialAdminPassword 。 但是我看到Heroku并没有将文件本地保存到自己的文件系统中。 所以我试图从Heroku日志中得到它。 我找不到任何机会收集Heroku日志,除了使用Papertrail附加。 问题: 通过链接到Papertrail的事件查询这个密码( 如 a30e0bb2bc954f12a67978fac7924c3d )我试图通过正则expression式( 如 [a-z0-9]{32}\.* )作为q参数的值,但我不知道究竟是如何做的。 我用Rubular和OK来检查这个正则expression式。 但在Papertrail的服务,它失败了。 提前致谢!