VSTS构建定义 - 从Java应用程序创建Docker镜像

问题描述 投票:0回答:1

我在VSTS中有一个Java应用程序,为此创建了一个构建定义,以生成许多构建工件,其中包括ear文件和服务器配置文件。所有这些构建工件都在最终构建定义任务中压缩。

我们现在希望创建一个Docker文件,该文件将上述构建工件封装在另一个VSTS Docker构建任务中。这将通过构建定义命令行任务完成,值得指出我们的目标docker注册表是公司注册表,而不是Azure。

我现在面临的挑战是如何从压缩工件(或其内容,如果可能)生成所需的docker镜像。有关如何实现这一目标的任何想法?

docker azure-devops dockerfile docker-registry azure-pipelines-build-task
1个回答
0
投票

要从zip / tar文件生成docker镜像,您可以使用docker load命令:

docker load < test.tar.gz

Loaded image: test:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
test                latest              769b9341d937        7 weeks ago         2.489 MB

之后,您可以将图像推送到您的私人注册表:

    docker login <REGISTRY_HOST>:<REGISTRY_PORT>
    docker tag <IMAGE_ID> <REGISTRY_HOST>:<REGISTRY_PORT>/<APPNAME>:<APPVERSION>
    docker push <REGISTRY_HOST>:<REGISTRY_PORT>/<APPNAME>:<APPVERSION>

Example :

    docker login repo.company.com:3456
    docker tag 769b9341d937 repo.company.com:3456/test:0.1
    docker push repo.company.com:3456/test:0.1

因此,在构建管道的末尾添加一个命令行任务并运行上述命令(将值更改为您的zip文件位置,用户名,密码,注册表URL等)。

© www.soinside.com 2019 - 2024. All rights reserved.