我在github repo中有一个Dockerfile。 我需要以某种方式设置我的工作区,为此我想使用Dockerfile。
我似乎无法找到任何明确的Jenkins文件示例,它会将容器创建为管道的单独阶段。
我该怎么做?
答案 0 :(得分:0)
鉴于您正在使用管道(jenkinsfile)语法,这就是构建docker图像的方式(最简单的方法):
stage('Build Docker Image')
{
DOCKER_TAG = "my_tag"
docker.withRegistry("${my_docker_registry}")
{
sh "docker build -t ${DOCKER_IMAGE}:${DOCKER_TAG}"
}
}
如果你想构建容器然后测试它,你需要存储对容器的引用,你可以使用以下代码来实现:
stage('Build Docker Image')
{
DOCKER_TAG = "my_tag"
docker.withRegistry("${my_docker_registry}")
{
var my_image = docker.build("${DOCKER_IMAGE}:${DOCKER_TAG}")
my_image.inside
{
sh "echo 'Hello World'"
}
my_image.push()
}
}
请注意,如果您使用docker镜像来运行管道,则需要将docker守护程序公开到图像以构建您的图像(这里有一个“图像一直向下”的笑话...... )