gpt4 book ai didi

mysql - 脚本化 Jenkinsfile 中的多个 Docker

转载 作者:行者123 更新时间:2023-11-29 17:34:23 25 4
gpt4 key购买 nike

我有一个问题。我的 Jenkins 需要一个 Jenkins 文件。为了测试我们的包,我们需要一个 solr 和一个 mysql 服务器。所以重点是,我想将其包含到系统中,并在脚本化管道中使用 docker。

在文档中,有一个选项,其中第二个 docker.image 在 sidecar 中运行。首先是提供执行环境。问题是,solr 或 mysql 作为执行没有 PHP 或 Ant。所以我想使用主机系统作为执行环境,并使用两个docker作为我的测试环境的基线。

有人知道我怎样才能得到这个吗?

https://jenkins.io/doc/book/pipeline/docker/#using-multiple-containers这是 Jenkins 的文档链接,但我没有找到我的问题的提示。

最佳答案

Jenkins 不支持开箱即用的多容器构建。您只能为您的作业分配一个容器,或者每个阶段分配一个容器。在您的情况下,您希望一次启动 3 个容器 - 一个使用 solr,一个使用 mysql,另一个使用 php,您将在其中运行 PHPUnit 测试。目前,这是不受支持的。

解决方法:

  1. 您可以设置 kubernetes 集群并使用您在 Jenkins 设置中配置的 Pod 模板动态配置代理。然后通过使用您定义的模板标签分配一个节点,您就可以实现您想要的。

  2. 使用 docker-compose 并从那里手动启动容器。确保有一个 post {always {} } 阶段,该阶段会在构建完成后销毁创建的容器。

关于mysql - 脚本化 Jenkinsfile 中的多个 Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50414567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com