Tag: 连续部署

我怎样才能使用gitlab和/或docker工具为我的networking应用程序?

我目前正在build设一个大学项目的Web应用程序。 我正在使用LAMP堆栈和运行CentOS的数字海洋服务器。 我对git比较陌生,一直在阅读Gitlabpipe道,跑步者,环境和集成docker容器,并且无法理解它或者区分哪些对我有用。 我的大学有一个Gitlab服务器设置,供我们托pipe我们的项目库,我的问题是,是否有可能推到掌握并让Gitlabtesting并将代码部署到数字海洋服务器? 谢谢。

Docker光盘工作stream程 – 使docker主持人拉动新的图像并部署它们

我正在为我的组织build立一个CI / CD工作stream程,但我错过了最后一块难题。 当然这是一个解决的问题,还是我必须写我自己的? 完整的图片。 我正在AWS上运行一些EC2实例,每个运行在其本地群集模式下的docker。 一些服务正在运行,我已经通过docker service create …手动启动了。 当开发人员提交源代码时,触发器会发送给jenkins来提取新的代码,然后构build一个新的Docker镜像,然后将镜像推送到我的私有registry中。 一切都很好,在这里,但如何获得新的形象到我的docker主机和正在运行的容器自动更新到新版本? Docker文档声明( 在这里 )registry可以发送事件到可configuration的端点,当一个新的图像被推到它上面。 这是我想自动反应,让我的docker主机然后拉新的形象,并停止,销毁和重新启动服务使用该新版本(具有相同的环境标志,标签等),但我没有find任何适合我的用例的解决scheme。 我已经find了v2tec /了望塔,但是在撰写这个问题的时候,它不是群集意识的,也不能从私人registry中获取。 最好我想要一个泊坞窗图像,我可以部署在我的泊坞窗pipe理器上,监听registry事件(指向registryconfiguration后),并做我需要的魔法。 成本是一个问题,但时间不是这样,所以我更倾向于写我自己的解决scheme,而不是我为此采用收费服务。

Codeship:从Docker镜像部署到EC2容器服务

我有一个使用Codeship Pro的项目,并且我已经成功推送到Docker Hub,之后我想用我的项目推到AWS EC2 Container Service。 我遵循这个文档: https://documentation.codeship.com/pro/continuous-deployment/aws/ – service: awsdeployment command: aws ecs register-task-definition –cli-input-json file:///deploy/tasks/backend.json – service: awsdeployment command: aws ecs update-service –service my-backend-service –task-definition backend 问题是在文档中,它不解释什么部署/任务/ backend.json包含,我试图删除codeship-steps.yml – service: awsdeployment command: aws ecs update-service –service my-backend-service –task-definition backend 但结果是:调用UpdateService操作时发生错误(ClientException):未findTaskDefinition。 目前,我使用 ecs-cli compose up 它使用我的docker-compose.yml将我的项目推送到我的EC2容器服务 我花了漫长的一天来弄明白,但是我仍然不知道要成功推送到我的AWS ECS,在推送shipcode时我不能使用ecs-cli命令。 我该怎么办 ?

为每个用户部署一个应用程序

我有一个小的博客脚本,我想要为每个用户请求部署,经过几个星期的研究,我找不到最好的方法将这个脚本部署到每个用户请求脚本的新实例。 每个客户都应该为自己的脚本拥有自己的云/容器实例,并且此过程必须完全自动化。 基本上我会有一个图像与ubuntu + nginx + php + mysql将被部署到云,然后脚本将运行在新鲜的实例,以获取和设置脚本。 直到现在我只看到两个情况: 使用像proxmox这样的虚拟化环境来创build基于预configuration映像的KVM容器。 安装并configurationopenstack,然后用docker部署镜像。 我知道OpenStack应该是明显的select,但它需要太多的时间来正确和安全地部署…所以我想知道是否有一个更好,更快的方法来部署我的形象。

在Docker Swarm中连续部署数据库

我正忙于为我的移动应用程序开发API,现在正在考虑部署后端解决scheme。 这些组件相当简单:nginx,.NET核心应用程序和postgresql持久性。 如果我需要快速扩展,我想首先在一个节点上开始使用Docker Swarm。 为Postgresql提供一个单独的数据卷看起来是一条可行的路线,但是我无法find有关升级和数据库迁移的任何build议。 当我需要升级Postgresql映像(不需要pg_upgrade的小升级)时,这是否必须是手动操作,还是可以通过滚动升级来pipe理? 要求将是在这种情况发生时closures所有应用程序实例。 同样,如何pipe理数据库迁移,例如静态数据/模式更改? 我将需要所有的应用程序实例退出,完成迁移,然后重新启动。 任何想法不胜感激。

使用bitbucketpipe道进行dropwizard + mysql + maven + docker项目的持续集成/交付

我试图为我的一个项目(从本地mac OS开发到生产安装 – 可能是Heroku或AWS或自己的空白VM)设置开发和部署过程。 这是目前的设置: 使用dropwizard的Java微服务 – 在本地mac OS中开发 一些python代码,但不是服务和用户所面对的 MySQL数据库 Maven作为构build工具 bitbucket git VCS 我已经在Mac本地构build了一个示例dropwizard项目,然后使用maven-docker-plugin创build了一个docker镜像。 这工作得很好,我把它推到dockerhub仓库。 我的testing环境是一个空白的虚拟机(我已经安装了Ubuntu 14.4,我试图find一种方法来自动部署这个镜像到虚拟机,每当我做一个代码推git。我该怎么做?Bitbucketpipe道选项? 理想情况下,如果所有的集成testing都通过了,然后将其发送到testing服务器上的另一组testing环境,那么理想情况下,我将dockerize(microservices,mysql等)的所有东西都部署到代码推送环境中。 任何想法如何以一个不那么复杂的方式做到这一点,将不胜感激。 PS:我正在考虑在testing中为mysql运行一个只有数据的容器,并分别进行操作,以便在新的推送时数据不会丢失。 我读到这是使用docker集装箱保留生产数据的推荐方法。

使用docker hub映像创buildbitbucketpipe道时出错

我正在尝试使用Dockerpipe道仪表板上的默认docker模板来构build使用Docker的bitbucketpipe道。 我拉了Ubuntu的docker图像,并创build了Dockerfile来支持它。 但是当我运行我的pipe道时,在步骤3中显示这个错误: “无法准备上下文:无法评估Dockerfilepath中的符号链接:lstat / opt / atlassian / pipeline / agent / build / Dockerfile:没有这样的文件或目录”。 谁能告诉,哪里出了问题? 还是有人有关于连续bitbucket集成的参考链接?

在AWS上部署dockerized rails应用程序的最佳方法?

我dockerized现有的Rails应用程序,它正常运行开发。 我想将应用程序部署到生产环境。 我在本地使用了docker-compose。 应用程序堆栈如下所示: Rails应用程序 背景工人的邮件和清理 关系DB – postgres NoSQL DB – DynamoDB SQS队列 行动电缆 – Redis caching – Memcached 据我所知,部署选项如下: ECS(尝试这样做,但在将任务和任务定义与Docker组合概念相关的概念方面存在困难) ECS与Elastic Beanstalk 根据这个docker文档的Docker Machine: https : //docs.docker.com/machine/drivers/aws/ 我没有capistrano的经验,还没有在这个项目上使用它,所以我不打算将它用于docker部署。 我打算使用一些CD / CI解决scheme来轻松部署。 我需要关于可用选项的build议,以及如何以易于维护的方式部署堆栈,并以最less的部署工作推送更新?

Jenkins docker-build-step插件无法将图像推送到Docker云

我正在尝试使用docker-build-step插件与Jenkins构build图像并将其推送到Docker云端。 使用Jenkins Password Manager插件为Docker Hub添encryption码。 我分两步做。 第一步使用Build/Create Image命令。 该命令构build图像并使用构buildID对其进行标记。 第二步将图像推送到docker集线器。 这里是控制台跟踪: [Docker] INFO: Build image id:5240329f9db6 [Docker] INFO: Pushing image parthmodi/docker_demo:test_push [Docker] INFO: PushResponseItem[stream=<null>,status=The push refers to a repository [docker.io/parthmodi/docker_demo],progressDetail=<null>,progress=<null>,id=<null>,from=<null>,time=<null>,errorDetail=<null>,error=<null>,aux=<null>] … [Docker] INFO: PushResponseItem[stream=<null>,status=<null>,progressDetail=<null>,progress=<null>,id=<null>,from=<null>,time=<null>,errorDetail=ResponseItem.ErrorDetail[code=<null>,message=denied: requested access to the resource is denied],error=denied: requested access to the resource is denied,aux=<null>] ERROR: Build step failed with exception com.github.dockerjava.api.exception.DockerClientException: […]

如何在数据库的DEV,QA,PROD环境中部署数据库的连续变化?

(我想知道什么是数据库更改的最佳部署实践,假设例如我们有一个node.js服务器,如果有任何变化,我将部署它们由开发人员在开发中,如果每一件事情顺利在DEV我部署到质量保证和PROD,部署意味着为这些更改创build新的映像,并在jenkins和docker的帮助下删除之前的node.js映像作为容器,我们如何做到这一点? 我在Docker环境中需要数据库的环境中工作。 我没有得到的是假设。 我第一次为postgres设置了Docker容器,我已经将所有表添加到了模式和所有函数中。 我想知道如果假设我必须在数据库中做一些更改。 我有DEV,QA,PROD所以首先变化进入DEV环境,如果每件事情都很好,那么就去QA然后PROD。 那么部署Docker变更的方法是什么呢? 应该是这样的。 什么时候有变化。 我将为postgres和所有新的更改手动创build新的图像,或者每次我必须在docker脚本中添加更改以进行更改。 (我不关心数据量或主机挂载的数据持久性问题,我担心新的数据库更改应该如何转到DEV然后是QA,然后是PROD) 我们如何继续整合/继续部署postgres数据库? 对于任何语言更改 (如node.js中的代码更改),我每次创build新的泊坞窗图像并删除以前的图像。 但是对于数据库更改 ,我怎么做继续集成/继续部署postgres数据库,因为如果我删除docker容器postgres我必须创build整个结构再次为数据库中的单行更改。 任何帮助将赞赏? 这个员工有任何真实的生活经验吗?