Tag: 持续集成

我如何构build我的docker项目以便于部署?

现在我有一个Docker-compose链接在同一个文件夹中的应用程序的多个组件 这在开发中运行得非常好,但是当我想要推向生产时,这有点模糊。 如果我保持这种结构,我不能只使用dockerhub托pipe我的图像,因为docker,撰写链接他们将失踪。 如果我用git来卸载docker-compose,那么dockerhub的意义何在? 为什么不克隆我的整个回购和每次运行docker-compose up ? 我可以另外将每个组件分别存储在不同的github仓库中,当推到master时推送它们到dockerhub。 然后,简单地将它们从集线器与docker组合。 这看起来也不太理想,因为人们不得不克隆并推送到几个不同的回购站来进行改变,从而影响系统。 你怎么做呢?

jenkinsdocker插件和链接的奴隶

我希望能够根据需要启动多个链接的容器, 在这个构build运行标记的地方,就像我为一个容器使用docker插件一样。 目前,我正在Docker容器中运行Jenkins,并使用docker插件configuration了一个从属云,以便为每个作业提供一个从属容器,此configuration由插件按需完成。 但现在我有了一些新的要求,例如: 启动nodejs应用程序容器链接到selenium网格容器进行量angular器e2etesting 使用nodejs应用程序启动容器,并将其链接到另一个容器中的redis服务器。 目前,docker插件不支持链接容器,所以我应该如何处理这些场景? 我知道如何启动与docker-compose的多个链接的容器,但目前没有Jenkins插件可供撰写。 我得到了docker-in-docker的工作,并且想到在pre-setup中使用DIND工作,但是我发现这是一个相当不合理的解决scheme。 有没有一个插件式的解决scheme?

通过在奴隶jenkins壳清洗docker集装箱

我们有一个场景,我们build立一个使用多个docker图像和容器的产品。 我们的Jenkins环境构build各个组件,将它们打包到容器中,然后(通常)将它们部署到testing实例中。 不幸的是,让这些testing实例变得干净已经成为我遇到的麻烦了。 奴隶是Ubuntu 14.04和16.04 LTS。 Docker是这些版本的最新稳定版本(1.12.3)假设jenkins用户已经正确连接到slave设备,并且通过sudoers文件拥有sudo权限来运行docker命令。 用户也在docker组中。 由于我们从通过docker-compose创build的一组正在运行的容器开始,因此我们将容器作为以开始的Jenkinsshell脚本的forms停止 docker工人停下来 然后,我们删除这些容器和相关的卷 docker-compose rm -fv 现在是删除图像的时候了,因为我们要拍摄一组新的图像。 在这里,我的代码已经发展了,但是效果不好。 我目前执行以下操作: dockerimagesoutput="$(sudo docker images -q | sort | uniq)" if [ ! -z "$dockerimagesoutput" ]; then sudo docker rmi "${dockerimagesoutput}" fi 当它在奴隶上运行时,我终于结束了 sudo docker images -q + sort + uniq + dockerimagesoutput=01b1b8ea71f4 027c45033c40 0b17fb320c4f 182d60ace820 19a515d76e88 . . . […]

docker上的图像与系统本身的build立

我正在构build许多应用程序,我想在Docker容器中的远程服务器上运行。 想象一下,我做了一个项目“富”,我已经写了Dockerfile。 我在我的本地主机上build立这个图像,并在容器中运行它。 一切工作正常,我想在远程计算机上运行相同的图像容器。 现在我有下一个方法: 我可以发布在dockerhub上,但图像不小,我不想每次都等待图像改变(我已经做了一些修复)。 所以对我来说这不是一个好的select。 我可以在我的生产服务器所在的本地networking上创build私有服务器。 这样做好多了,因为连接速度很高,这是我的独立回购。 但是由于https设置docker的私有存储库真的很困难。 你还需要为每个守护进程添加安全措施。 您必须使用docker客户端,在您自己的系统上构build,标记,login和推送。 太多的步骤… 我find了另一种方式。 我用tar.gz中的dockerfile存档我的应​​用程序,并将其上传到远程服务器(nexus 3,原始存储库),然后configurationJenkins以下载此存档并运行docker build命令。 这也不是很方便,我每次都要为每个图像创build工作,工作是平等的,但是url和名称是不同的。 我也与jenkins运行容器,这是正确的,或者我已经使用类似kubernet的东西? 你能分享一下你如何解决像上面描述的问题吗? 我做对了还是不好的做法?

Docker中为TeamCity代理提供什么服务器URL?

这个问题 。 我正在尝试使用Docker在Ubuntu Linux 16.04.1 LTS上创build一个TeamCity基础结构(服务器和代理)。 我已经运行了jetbrains / teamcity-server镜像的Docker容器,如本页所述 。 使用服务器的IP地址和端口8111,可以通过networking浏览器访问TeamCity服务器。 现在我尝试运行一个代理的Docker容器,如本页所述 。 它写道:请注意,“本地主机”通常不会工作,因为这将参考容器内的“本地主机”。 那么,当我向代理容器的运行脚本提供“ http:// localhost:8111 ”或“ http://127.0.0.1:8111 ”或“ http:// my_server_ip:8111 ”时,我最终得到1 )“WARN – buildServer.AGENT.registration – 通过URL http:// localhost:8111 ( sic!always localhost )在服务器上注册时出错,将继续重复连接尝试。”或者2)“WARN – buildServer.AGENT.registration – 通过URL http:// localhost:8111 / app / agents / protocols向服务器请求通信协议时出错。 此外,我试图揭示运行服务器的Docker容器的IP地址,并提供给代理运行脚本。 但结果是一样的。 问题 。 我应该提供哪个服务器url? TeamCityconfiguration中有没有隐含的步骤,我错过了Docker ?

GitLab CIpipe道与多容器kubernetes吊舱

这是可能build立一个configuration,其中将包括: GitLab项目#1 java容器 GitLab项目#2 java容器 Nginx容器 Redis容器 Cassandra容器 Nginx出口商(Prometheus) Redis出口商(普罗米修斯) JMX出口商(普罗米修斯)x2 把所有这些放在一个kubernetes(GKE)上的多容器容器中,并通过共享容量和本地主机进行通信是非常重要的。 我已经使用初始容器在kubernetes中完成了所有这些工作(为了获取代码并编译它),现在我正在寻找使用CI / CD的方法。 所以,如果这可以通过GitLab CI来完成,那么请指点一下正确的文档或者手册页面,因为我是GitLab CI的新手,而且已经从互联网上的几十篇文章中迷失了自我。 提前致谢。

如何在成功构buildJenkins之后创build自动泊坞窗图像?

一旦构build成功,我想通过Jenkins创build一个自动泊坞窗图像。 我尝试通过在执行shell中提供docker命令但抛出command not found错误。如果这是不正确的方式如何在Windows 10中实现这一点。 错误: ……………. ……………. 12 passing (81ms) + docker build -t snapshot . C:\WINDOWS\TEMP\jenkins6038297422360146327.sh: line 4: docker: command not found Build step 'Execute shell' marked build as failure Finished: FAILURE 即使在jenkins里面安装docker之后,它并没有select我的docker url 在jenkins里面的Docker 完整的Docker URL错误 用TLS创build一个新的vm false: docker-machine create -d virtualbox –engine-opt tlsverify=false node2 检查TLS是假的我跑下面的命令 docker-machine env node2 这里DOCKER_TLS_VERIFY =“1” ,但是在文档中提到DOCKER_TLS_VERIFY […]

多个Docker容器来模拟多个服务器

多个Docker容器是否像在独立的服务器上一样? 换句话说,我的问题是, 我可以在单个CI服务器上使用多个Docker容器来实际testingPHP / MySQL / Nginx设置,其中MySQL是生产环境中的单独服务器?

如何在CI脚本作业之前重builddock上的docker映像

我想在GitLab CI脚本中生成Dockerfile并构build它。 然后在构build作业中使用这个新生成的图像。 我怎样才能做到这一点? 试过使用全局的before_script,但它已经在默认的容器中启动。 我需要从任何容器中做这个。

为开发/testing/产品运行Jenkins从站的优点/缺点?

我们首先同意我们要遵守典型的Docker / DevOps原则。 因此,我们希望保持任务的隔离,configuration版本的控制,并将整体定制降至最低。 景观: Jenkins被用作您所选云实例的CI / CD工具。 计划: 为test / staging / prod创build单独的实例,每个实例都安装了Docker 在每个实例上旋转Jenkins从属容器,由Jenkins主控制 当一个提交被发送到'test'分支时,Jenkins主服务器将任务发送到'Test'从服务器,从而最终将应用程序的版本加速 同样,在testing成功运行并且代码被推送到分段或分支分支之后,Jenkins将具有分支各自的从属构build应用程序。 问题: 这种方法有什么问题? 什么可以通过这种方法得到改善?