Tag: jenkins

使用预先configuration的作业创buildJenkins Docker图像

我已经创build了一些本地部署pipe道作业,这些作业像删除现有容器,在本地构build服务,构buildDocker镜像,运行容器等等。这些不是CI / CD作业,只是用于部署的小pipe道本地在开发。 我现在要做的就是让所有的开发人员都能使用它,这样他们就可以简单地创build一个已经包含作业的jenkins本地实例。 我的docker文件是相当直截了当的… FROM jenkins:latest USER root RUN apt-get update RUN apt-get install -y sudo RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers # Docker RUN apt-get update RUN apt-get dist-upgrade -y RUN apt-get install apt-transport-https ca-certificates -y RUN sh -c "echo deb https://apt.dockerproject.org/repo debian-jessie main > /etc/apt/sources.list.d/docker.list" RUN apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys […]

如果我们可以直接暴露于80端口,反向代理的好处是什么?

用Docker安装Jenkins告诉我们EXPOSE到端口49001然后使用反向代理暴露到端口80.使用反向代理的好处是什么为什么不直接暴露给端口80?

Jenkins或其他开源的CI是否有分布式系统?

我有一套组成分布式系统的全状态服务。 每个人都有一个Docker文件,可以构build它并运行其unit testing。 我需要检查他们如何以分布式方式互相交互。 要运行testing,我需要: 能够在不同节点上同时运行多个Docker文件,这将被视为单个testing运行。 能够在每个Docker文件的命令执行顺序中设置障碍。 换句话说,假设所有的Docker文件同时运行,我需要确保所有的文件在Y阶段开始之前已经完成了阶段X 能够停止任何节点的故障。 有没有Jenkins插件/扩展这样的操作,还是有任何其他系统或方法可以解决这个问题?

Jenkins构build+ Docker +自动部署

这是我们需要的: 1.从github repo抓取代码>>下载到jenkins >> Build 2.成功构build时,产生一个/多个docker tomcat容器并在那里部署代码。 我们有一个自定义的tomcat映像(由有效的dockerfile构build)。 我开始了解许多jenkins docker-plugin,但无法理解如何实现的stream程。 任何帮助将不胜感激。 谢谢..

jenkins在docker工人触发按需从属

我正在寻找一种方法来运行jenkins工作/build立里面的jenkins奴隶,dynamic(按需)启动docker。 附加模式以便于视觉理解。 我实际上在寻找什么,我的stream程如下所示: 1)触发Jenkins作业(手动/ git / gerrit) 2)jenkins大师(在docker运行)启动奴隶机器docker(并传递构build脚本/指令) 3)构build运行在Jenkins从站(或从站,如果并行/pipe道) 4)结果返回给jenkins大师 5)jenkins奴隶docker停止 可以这样做吗?

如何使用Jenkins Pipeline插件启用SCM轮询

这是一个关于如何使用Jenkins Workflow插件进行SCM轮询的问题。 该线程回答了如何启用SCM轮询后在pipe道脚本中使用SCM轮询,但不包括如何启用 SCM轮询。 例如,如果您想使用mulit-branch pipeline插件使用Jenkinsfile自动创build作业,则我不知道在作业中启用了“Poll SCM”选项。 这使得很难设置按需环境,例如创build一个从一开始就设置了作业的Docker容器。 因为您必须login到Jenkins并转到configuration,并在容器启动后select“Poll SCM”选项。 Cloudbees提供了一个模板插件来帮助解决这个问题。 但是,这不是jenkins使用免费版本。 在免费版本的Jenkins上,用户是否有任何解决方法或解决scheme?

Docker映像版本用于持续集成/持续部署

我们正在实施持续集成和持续交付stream程,并使用两个众所周知的概念:Linux二进制包和Docker镜像。 大部分的工作已经完成了:我们从GitLab Aptly获取代码,编译它并把它放到Aptly存储的deb包中,然后我们为每个服务创buildDocker镜像,并将镜像推送到私有Docker Registry服务器。 之后,这些图像将滚动到testing环境。 最后我们启动服务并进行验收testing。 这是一个连续的过程,每次有人向提交origin/master推送提交时都会启动。 还有什么不清楚的是如何区分存储在Docker Registry中的稳定图像 ? 我们必须跟踪每个图像的状态,因为我们需要执行稳定服务器的定期更新。 很明显,某些版本(即图像版本)不能通过验收testing,必须标记为不可用,并在每次连续发送的迭代中将其过滤掉。 似乎没有这个function的默认实现: 默认的图像repo/tag是一个普通的普通string,不能同时拥有版本号,build立date和质量保证标志。 Labels ( 1.6中介绍)可能是解决scheme的一个很好的起点,但我们无法find重新标记现有图像的机会(请注意,我们需要考虑QA的结果更新图像“元数据”) 。 没有可用的标签值查询图像的方法,但我们可能会包装Docker API。 那么将版本分配给Docker镜像的正确方法是什么? QA相关信息如何存储? 我们如何“突出”稳定的形象构build? Jenkins CI特点可以用来达到这些目的吗? 请分享你的经验。 UPD:过了一段时间,我不得不在Docker问题跟踪器中开始讨论 。 也许有人会觉得它有用。

企业私人Dockerregistry最佳实践

当我们正在准备与我们自己的私人登记处一起展开时,这个问题最近出现在我的脑海里。 什么是企业最佳实践,为什么? Q1: 使用1个S3存储后端运行多个registry? 每个registry都有设置,可以将它推送到同一个S3存储桶中的dev,qa或prod(顶级)文件夹。 运行1registry与1个S3存储后端为所有dev / qa / prod环境? 由于Docker的整个目的是让图像在任何地方运行,所以我们只提供不同的docker运行参数,因为docker镜像本身在env中是完全相同的,只是你传递的运行参数是不同的。 每个环境运行1个registry和1个S3存储后端 Q2: 从开发者一路推广的形象,最好的做法是什么? 涉及到哪些工具组合。 例如,我们有一个用于Dockerfiles的中心gitlab,当我们检查新的Dockerfile时,会有一个钩子触发Jenkins从Dockerfile构build镜像并在registry中检查它。 什么是轻松推广的好方法(除非你之前select了第二种选项),图像到了下一个级别 – qa,并最终产生? Q3: 如果您更新了其中一个基本映像,那么确保将更改传播到registry中的其他映像上的方法是什么? 例如,你用新的东西来更新你自定义的基础Ubuntu Dockerfile,并且你希望使用这个基础镜像的其他Docker文件被重build并推送到registry中,这样更改将被自动传播。 Q4: 如果您拥有不同的AWS账户,那么它是否在以上所有方面发挥作用:DEV为1,QA为1,PROD为1等。

使用Jenkins CloudBees Docker自定义生成环境插件时无法使用Dockerfile

我尝试使用“在Docker容器内部构build”选项“从Dockerfile构build”,按照以下指南进行操作CloudBees Docker自定义构build环境插件 我已经把Dockerfile放在工作空间的根目录下(/ var / lib / jenkins / jobs / lumi / workspace)。 然后当一个构build触发,我得到下面的错误。 我认为它能够findDockerfile,但由于某种原因无法构build图像。 Build Docker image from ./Dockerfile … $ docker build –tag b916af9f0b3e48425cb54c323d1a3adb749a72a1 –file Dockerfile /var/lib/jenkins/jobs/lumi/workspace The Dockerfile (Dockerfile) must be within the build context (/var/lib/jenkins/jobs/lumi/workspace) FATAL: Failed to build docker image from project Dockerfile java.lang.RuntimeException: Failed to build docker image […]

如何释放与Jenkinspipe道的docker图像

我有一个项目来build立一个docker图像,在我的情况下,它是一个包含(容器内)数据的mongo图像的扩展。 我使用这个mongo docker镜像进行集成testing。 目前,Maven并不习惯构build这个项目。 当我想发布这个图像的一个版本,我在我的电脑上这是不理想的。 我想保留一个文件,其中包含我的泊坞窗图像的当前版本(如pom.xml)。 我应该做些什么,在我的项目中添加一个pom.xml,用于versionning和maven-release-plugin,添加一个简单的version.txt,在我的发布过程中进行更新? 还是有一个像“docker.version”文件,我不知道这样做? 我在GitHub上发布我的项目的一个例子: https : //github.com/Ameausoone/mongodb-docker-with-data