我在VSTS中有一个Java应用程序,已为其创建了一个构建定义以生成许多构建工件,其中包括耳文件和服务器配置文件。所有这些构建工件都将在最终的构建定义任务中压缩。
我们现在希望创建一个Docker文件,将上述构建工件封装在另一个VSTS Docker构建任务中。这将通过构建定义命令行任务完成,值得指出的是,我们的目标Docker注册表是公司注册表,而不是Azure。
我现在面临的挑战是如何从压缩的工件(或其内容,如果可能)中生成所需的docker映像。关于如何实现这一目标的任何想法?
答案 0 :(得分: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等)。