【问题标题】:How to configure Docker run as build step in teamcity?如何在 Teamcity 中将 Docker 运行配置为构建步骤?
【发布时间】:2022-01-06 16:50:48
【问题描述】:

我是 docker 以及团队城市的初学者,我为构建 docker 容器设置了一个管道,并希望将其配置为在成功构建后运行,我尝试使用带有docker,但他们建议使用带有可执行参数的命令行以及使用 docker 套接字的某种方式,我通过 Internet / YouTube 没有看到构建后启动容器的正常示例。我看到了一些与代理一起发布的示例,但是我又一次看不懂所写的内容,我在 YouTube 上寻找示例,我也没有找到。请举例说明在 Linux 上运行 docker 作为管道中的一个步骤。

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: docker teamcity


【解决方案1】:

我通过应用以下解决了我对 Jenkins 的类似要求..

在您的项目中添加一个 shell 文件(例如 run.sh)。那里有您将从命令行使用的 docker run 命令,在末尾添加 > /dev/null 2>&1 & 以便进程可以在后台运行和 O/P 流为 null。

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag > /dev/null 2>&1 &

然后在你的 Jenkins (Teamcity) 脚本中添加一个 sh 步骤来运行这个文件

steps {
    dir (whatever-dir-run.sh-is-in) {
      sh "JENKINS_NODE_COOKIE=dontKillMe sh run.sh"
    }
}

注意:如果 JENKINS_NODE_COOKIE 在 Teamcity 中有等效项,请使用它。

【讨论】:

  • 我想将它与 Docker 命令一起使用,但认识到最好使用命令行步骤并在这里编写代码:docker run image-name: tag,但无论如何谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多