Tag: jenkins

Jenkinspipe道:在docker.image()。里面更新镜像()

我有jenkins文件中描述的jenkinspipe道。 在构build步骤中,我启动一个Docker容器,在其中执行所有构build步骤。 像这样的东西: docker.image('node:8').inside() { } 我注意到这不会获取最新的docker图像,但总是使用最初从docker集线器中拉出的图像。 我期待这将检查docker集线器,如果node:8图像仍然是最新的,如果不是,则获取新的图像。 如果我的本地registry没有caching最新的图像,如何触发新的图像下载?

Jenkins Docker容器,后面跟着path匹配规则的traefik反向代理

我有一个Docker容器运行一个traefik反向代理就像这样: docker run \ -d \ –name traefik-reverse-proxy \ –network="host" \ -p 80:80 \ -v /dev/null:/etc/traefik/traefik.toml \ -v /var/run/docker.sock:/var/run/docker.sock \ traefik:1.5-alpine \ –docker 然后我用Jenkins运行另一个容器,它通过标签configuration转发规则,以便traefik将所有请求转发traefik /jenkins开头的path: docker run \ -d \ –name jenkins \ –label "traefik.port=8080" \ –label "traefik.frontend.rule=PathPrefix: /jenkins" \ jenkins/jenkins:lts 现在,打开http://localhost/jenkins ,请求被正确转发到Jenkins容器,该容器将我redirect到主index.html页面。 但是,由于JavaScript和CSS资源未正确加载,因此该页面大部分为空白。 查看浏览器控制台,我可以看到索引页正在尝试从http://localhost/static/4e9c623d/scripts/yui/button/button-min.js这样的地址加载它们。 相反,它应该在URL中包含/jenkins/部分,并尝试从例如http://localhost/jenkins/static/4e9c623d/scripts/yui/button/button-min.js加载它们 – 而不是手动点击该URL显示我在浏览器中的JS文件。 我尝试使用像–label "traefik.frontend.rule=PathPrefix: /jenkins; AddPrefix: /jenkins/"的规则组合,但是这并没有改变任何东西。 我该如何编写规则才能正常工作?

Jenkins shell脚本在不同的服务器上执行

我有两个虚拟机,在一个虚拟机上,我有泊坞窗,另一个我有jenkins。我有shell脚本运行docker,放在服务器上有docker。 但是我需要Jenkins从预生成步骤执行这个shell脚本。 我正面临着这个过程的问题。 如果有人能够提供详细的步骤,这将是非常有帮助的 提前致谢

Docker:在Jenkins图像中将打开的Jdk更改为Oracle Jdk

docker工人,我很新,我想运行一个jenkins形象。 我从存储库中提取图像,现在可以使用该命令运行它 docker run -p 8080:8080 jenkinsci/jenkins 默认情况下,它使用openjdk版本1.8。 我想用oracle jdk而不是openjdk。 我怎么能改变这个? 提前致谢。

如何在Jenkins中运行docker命令生成Execute Shell

我是jenkins的新手,我一直在四处搜寻,但是我找不到我在找什么。 我想知道如何在Jenkins中运行docker命令(Build – Execute Shell): 例如: docker run hello-world 我已经在Jenkinsconfiguration系统中设置Docker安装为“从docker.io最新安装”,并且已经安装了多个Docker插件。 但是,它仍然没有工作。 任何人都可以帮我指出我还应该检查或设置什么? 约翰

访问jenkins奴隶容器内的docker

我的问题基本上是容器中的Access Docker套接字和从(jenkins)docker 容器中 访问docker主机的组合 我的目标 运行Jenkins完全docker化,包括dynamic奴隶,并能够在奴隶内创builddocker集装箱。 除了最后一部分,如果Unix docker-sock正确地暴露给Jenkins主,那么所有东西都已经在工作,这要归功于https://github.com/maxfields2000/dockerjenkins_tutorial 。 问题 与dynamicconfiguration的从站不同,主站通过docker-compose启动,因此可以正确访问UNIX套接字。 对于dynamic生成的从站,这种方法不起作用。 我试图转发访问docker像 VOLUME /var/run/docker.sock VOLUME /var/lib/docker 在build设的形象。 不幸的是到目前为止,当我尝试访问docker.sock中的Permission denied (socket: /run/docker.sock)时,我得到了一个Permission denied (socket: /run/docker.sock)奇怪的是是:从机中的用户是root。 那为什么我不能访问docker.sock ? 或者我怎么能在–privileged标志烧,这样的权限被拒绝的问题会消失?

为什么Docker在将映像推送到私有registry时重置连接?

我们有一个Docker专用registry,在一个非默认的端口上监听(在我们的docker run命令中指定的)。 但是,我们尝试推送图像(预先构build或通过Jenkins构build)会失败并显示错误消息(请参阅下面的粗体)。 在您方便的帮助将非常感激。 我们只需在机器上安装Docker,并启动registry,如下所示: docker run -d -p 9010:9010 –restart=always –name registry registry:2 然后我们试图按照Docker的文档来testing我们的registry,如下所示: docker pull ubuntu && docker tag ubuntu localhost:9010/ubuntu docker push localhost:9010/ubuntu 错误: The push refers to a repository [localhost:9010/ubuntu] Put http://localhost:9010/v1/repositories/ubuntu/: read tcp [::1]:37399->[::1]:9010: read: connection reset by peer jenkins错误: [workspace] $ docker push HOSTNAME:9010/registry:2 The push refers to a […]

使用Docker和Jenkins运行testing – testing结果

我有一个用Rails编写的应用程序。 为了testing它,我构build了一个docker镜像。 一切工作正常。 但是,当我configurationJenkins运行这些testing时出现这个问题。 以下是我在做的步骤: docker-compose up rspec 其中rspec是在docker-compose.yml中定义的服务,包含以下命令: command: "rspec spec/" 当rspec返回错误时,构build仍然成功。 这里输出的一个例子: … 21:42:24 [36mrspec_1 |[0m should save second profile 21:42:24 [36mrspec_1 |[0m 21:42:24 [36mrspec_1 |[0m Failures: 21:42:24 [36mrspec_1 |[0m 21:42:24 [36mrspec_1 |[0m 1) New profile Should persist new_profile_pricture 21:42:24 [36mrspec_1 |[0m Failure/Error: jump_to_four_phase_with(new_profile_picture) 21:42:24 [36mrspec_1 |[0m RuntimeError: 21:42:24 [36mrspec_1 |[0m Timeout for […]

在docker-compose中标记docker镜像并添加variables

我使用docker来构build和部署应用程序。 build立图像后,我需要标记和使用该图像从另一个系统有docker组成。 我正在使用Jenkins构build和部署图像到私人dockerregistry。 主机系统上的Docker撰写文件应该根据标签版本自动拖动这些图像。 如何将variables传递给docker-compose来replace标记值? 例如:如果a = 2.4,那么它应该用docker-compose文件中的2.4代替a。 version: '2' services: web: image: httpd:$a ports: – 80:80

Docker Cloud自动构build

我想了解通过Docker Cloud和其他CI服务器(如Jenkins,Circle)自动构build的主要区别… 从我通过Docker Cloud的理解中,我可以链接Github repo并触发特定分支更改的Web钩子。 这样做,通过适当的configuration,DockerCloud自动运行,testing和构build我的映像,并最终部署到AWS等链接的远程服务器。 因此,相同的工作stream程是可以实现的,并且使用Jenkins,Circle这样的CI服务器是常见的CI / CD实现。 基本上执行与DockerCloud相同的步骤。 使用Jenkins CI和Docker Cloud自动构build有什么区别? 我应该使用哪种方法将整个CI / CDpipe道集成到我的开发工作stream程中?