云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港服务器_网站建设必要性_免费领

小七 141 0

Jenkins中Docker图像和容器的可追溯性

组织一直在努力更快地发布软件,更快地将产品送到用户手中,并获得改进或纠正问题的反馈。软件在它的第一次迭代中永远不会是完美的,最终用户可能实际上想要的是与实际生产的不同的东西。如果能够及时交付新特性并及时修复bug,或者需要进行全面的过程更改,那么对业务有很大的价值。开发一个最小可行的产品(MVP)并使用敏捷实践,理论上,开发团队可以在每个sprint结束时生成一个新的工作产品。然而,持续开发产品和持续交付产品给用户。软件是一个相互依赖的世界,所有这些相互依赖必须在产品发布前的不同阶段进行验证。外部库文件是否一致?数据库版本是否相同?目标主机操作系统上是否安装了所有必需的软件包?从开发到测试再到生产工具像Jenkins一样,Chef和Puppet已经帮助自动化了各个阶段的软件流,并确保了一个一致的环境。通过不断集成所有软件依赖项并标准化环境的配置管理,团队减少了交付管道中变量的数量,并消除了潜在问题,从而实现了更高的自动化,因此,加快交付软件Docker和containers的出现进一步减少了交付管道中存在的变量。有了Docker,一个映像可以从开发到测试,最后到生产,而无需更改应用程序或底层配置。只要Docker主机是一致的,那么具有该映像的所有容器就可以在所有环境中工作阶段。什么Docker在吗?Docker是一个开源项目,它为使用容器构建和传送应用程序提供了一个平台。此平台使开发人员能够轻松地创建标准化环境,以确保测试环境与生产环境相同,并提供用于虚拟化的轻量级解决方案应用程序。Docker容器是由应用程序及其依赖项组成的轻量级运行时环境。这些容器在机器上运行,从而避免了传统虚拟化技术所带来的1-5%的CPU开销和5-10%的内存开销。它们也可以从名为Docker的只读模板创建图片。Docker可以从称为Dockerfile的环境定义或从已提交为映像的运行Docker容器创建映像。一旦Docker映像存在,就可以将其推送到Docker Hub这样的注册表中,然后根据该映像创建一个容器,从而创建一个运行时环境,其中安装了一组有保证的工具和应用程序。类似地,容器可以提交给镜像,然后提交给Docker集线器相互依赖问题Docker容器的不变性在很大程度上促进了连续交付,但它并不能完全解决相互依赖的问题。Docker容器是基于图像构建的,包括父映像和基映像。应用程序可以在基本映像为CentOS的Apache父映像上运行。这些映像以及它们所使用的容器都是唯一标识和版本的,以适应随时间的变化,就像二进制工件或宝石。在除了图像依赖性之外,应用程序并不总是包含在单个容器中;停靠的应用程序越来越多地部署为微服务。正如Martin所描述的,将单一的应用程序分解成相互操作的独立功能单元是一种很好的方法,可以帮助团队连续地交付应用程序的一部分,而不需要整个应用程序和每个相关团队的发布周期。不仅有图像依赖,而且我们现在有微服务依赖。抽象的层次已经提升到梯级可追溯性有了指纹和dockerdeveloper,或者因为,连续交付管道中固有的所有自动化,事情仍然会中断。当他们这样做时,有必要在运行中的应用程序中的所有依赖项中快速识别和纠正问题。应用程序中所有依赖项的可见性和可跟踪性对于持续交付和运行该应用程序至关重要。为此,Jenkins允许团队使用"指纹"跟踪工件,让用户看到构建中的内容以及该构建在哪里被使用。结合部署通知插件,这个指纹可以用来跟踪Chef或Puppet部署包的时间和地点。这种可追溯性对开发人员和操作都非常有用。如果在开发中发现了一个bug,它可以很快地追踪到它被部署到的任何地方。相反,如果生产中出现问题,操作团队可以轻松地在Jenkins中找到部署的构建并查看所有组件包括在内添加了CloudBees Docker Traceability插件,Jenkins现在可以将同样的跟踪扩展到Docker图像,显示每个容器和相关映像的生成和部署历史记录。这个插件需要Docker Commons插件,该插件提供了所有Docker图像的指纹,并且Jenkins中的每个人都可以使用它社区。那个CloudBees Docker Traceability插件既提供了当前注册和部署的所有容器的Jenkins侧栏的总体视图,也提供了容器构建的详细视图从构建页面。为所有父映像和使用的基础映像提供Docker映像标识。此外,Docker映像ID可在Jenkins中搜索,以快速找到它的部署位置和时间以及部署方式和时间建造。使用此信息,可以确定容器的代码中是否发生了更改,或者容器的父映像或基映像之一是否从一个构建更改为另一个,从而帮助确定所有问题的根本原因应用程序。在哪里我要开始吗?CloudBees Docker Traceability插件是一个开源插件,因此可以从开源更新中心下载或打包为CloudBees Jenkins的一部分平台。其他插件补充并增强了这个插件可能的管道。在这些博客中阅读更多关于他们的使用案例:Docker使用CloudBees平台构建和发布插件Docker Slaves Jenkins Docker工作流DSLDocker Hub触发器插件Docker自定义构建环境插件更多信息可在最新发布的Jenkins CookBook Patrick Wolf产品经理LoudbeeSpatrick Wolf is aCloudBees产品经理,总部位于圣何塞。