Tag: 持续集成

如何使版本控制系统版本与Docker映像版本同步?

在Dockerregistry和Git(例如)修订版中关联Docker镜像版本的常见模式是什么? 因此,存储库的用户将能够在任何修订版本中切换并重新创build与该特定修订相对应的环境。 例如,我有一个项目和集成服务器的存储库,它会自动为存储库中的每个提交构buildDocker镜像。 这些图像如何绑定到相应的仓库提交? 使用Docker你有两个不同的仓库 – 一个项目和Docker镜像 – 所以它们必须是同步的,但推荐的工作stream程是什么?

Docker – 从一个链接容器发出命令到另一个

我正在尝试使用2个Docker容器来设置一个原始的CI / CDpipe道,我将它们称为jenkins和node-app 。 我的目标是让jenkins容器在提交到GitHub 仓库时运行一个工作(完成了)。 该工作应该在node-app容器上运行deploy.sh脚本。 因此,当一个开发人员向GitHub提交时, jenkins接受提交,然后开始工作,包括自动化testing(将来),然后在node-app上进行部署。 jenkins容器正在使用最新的图像( Dockerfile) 。 节点应用程序容器的Dockerfile是: FROM node:latest EXPOSE 80 WORKDIR /usr/src/final-exercise ADD . /usr/src/final-exercise RUN apt-get update -y RUN apt-get install -y nodejs npm RUN cd /src/final-exercise; npm install CMD ["node", "/usr/src/final-exercise/app.js"] jenkins和node-app使用Docker Compose链接,并且docker-compose.yml文件包含(更新,感谢@alkis): node-app: container_name: node-app build: . ports: – 80:80 links: – jenkins jenkins: container_name: […]

什么是最好的Docker标记策略?

可以肯定的是,“最新”标签是不够的(即如果你想回滚/debugging)。 什么是最好的docker标记实践? 使用内部编号或提交编号标记它会更好吗? 或者其他一些select?

Jenkins Docker插件显示为离线

我已经与Jenkins集成了Docker插件 。 我确信集成已经完成,因为安装后,我检查了“testing连接”,并正确显示我的Docker版本。 现在我试图从我的构build中提供奴隶,这是失败的。 我正进入(状态: pending #5 (pending—All nodes of label 'docker test' are offline 任何人都可以请帮助我如何debugging呢?

如何与jenkinsdocker集装箱装卸docker卷?

我有jenkins运行在容器和项目源代码在github上。 我需要在容器中运行项目在jenkins相同的主机上,但不是作为docker在docker上,我想运行它们作为兄弟容器。 我的pipe道看起来像这样: 从github拉来源 build立项目形象 运行项目容器 我现在正在使用jenkins容器主机的docker socket: /var/run/docker.sock:/var/run/docker.sock jenkins容器使用源代码从/ var / jenkins_home / workspace / BRANCH_NAME将项目容器安装到容器时遇到问题: volumes: – ./servers/identity/app:/srv/app 我得到项目容器中的空文件夹“/ srv / app” 我最好的猜测是docker试图从主机而不是从jenkins容器挂载它。 所以问题是:我怎样才能明确地设置我从哪个容器装载容器?

Docker-它为我们的团队带来了什么样的真正价值?

我对Docker非常陌生。 我们的团队有一个非常好的部署线,我们有不同的CI引擎用于不同的项目,包括Jenkis和TeamCity。 开发人员通常需要签入,CI接pipe,部署,完全准备好testing团队进行testing。 我一直认为这是一个完美的模型。 当然,有些部分和我们的实现有其缺陷,但是对于我们想要的,它工作得很好。 现在,我们的Dev-Ops正在介绍Docker,其中testing团队从Docker Registry获取Docker镜像每次我们从teamcity运行构build。 虽然听起来真的很奇怪,但我仍然不明白它的好处。 经过我的研究,我的结论是,Dockers可以成为VM的轻量级替代品。 但是,只有如果你使用任何虚拟机? 我们没有使用任何VMS? 我只是不明白这里真正的价值是什么? 另外,在search时,我在Docker上find了一个相对较好的链接: https://www.ctl.io/developers/blog/post/what-is-docker-and-when-to-use-it/ 他们在哪里讨论什么时候应该使用Docker,其中一个观点是: 每当您的应用程序需要经历多个开发阶段(dev / test / qa / prod,尝试Drone或Shippable,都使用Docker CI / CD)时,请使用Docker 好。 但是请不要进一步阐述为什么当我的应用程序需要经历多个阶段时,docker是有用的吗? 当现有的设置已经运行平稳的时候,它是如何在普通的开发/testing中得到显着的帮助的?

用微服务,Docker,Jenkins和GIT创build适当的构build或部署链

我们目前正在开始从庞大应用程序迁移到微服务。 目前正在与微服务,Docker,Jenkins和GIT一起创build适当的构build或部署链 以下是我们正在考虑的初始阶段的简单stream程。 我希望应该有更好的工具和stream程来透明地分stream这些阶段。 请build议使用最佳实践和工具来改善此stream程。 开发人员所做的更改将合并到Git存储库。 jenkins启动构build并创build标记为构build版本的docker图像 Jenkins部署Docker镜像并运行集成testing jenkins注册泊坞窗图像 QA执行手动testing。 他们使用脚本,根据提供的版本下载这些图像,并通过覆盖dockerfile中提到的属性来设置testing环境。 我们将会为UAT提供类似的脚本

Bitbucketpipe道 – mvn干净安装不与JavaFX一起使用

我正在使用Bitbucket Pipelines来build立我们大学的一个项目。 这是我的configuration从bitbucket-pipelines.yml: image: maven:3.3.9-jdk-8 pipelines: default: – step: script: # Modify the commands below to build your repository. – mvn -f EasyDiet_JavaFX_View/pom.xml clean install 这里是一些编译错误 – >涉及JavaFX: ERROR] COMPILATION ERROR : [INFO] ————————————————————- [ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[11,19] package javafx.fxml does not exist [ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[12,28] package javafx.scene.control does not exist [ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[13,27] package javafx.scene.layout does not exist […]