我在gitlab中建立了一个容器,并在gitlab自定义注册表中进行了注册。该容器内部是一个运行时间很长的命令。我想以某种方式将此容器部署为Azure,并且仅根据管理api服务的要求在新的容器实例内启动这个长时间运行的过程。我不希望容器一直运行,而只希望它运行命令所需的时间。
我当时想这个管理api可能是在Azure“应用服务”下托管的经典http rest api服务,或者可能使用Azure的新“功能应用”功能。
在研究中,我发现使用azure cli命令可以像这样启动一个容器:
az container create \
--resource-group myResourceGroup \
--name mycontainer2 \
--image microsoft/aci-wordcount:latest \
--restart-policy OnFailure \
--environment-variables NumWords=5 MinLength=8
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-environment-variables
我想通过admin api进行此操作,最好使用对我来说看起来像位于此处的正式Azure npm程序包:
https://www.npmjs.com/package/azure
理想情况下,创建和启动实例只是一个命令,因此能够在容器启动时像本示例一样设置环境变量对我来说很重要。我对将所有代码都移到Azure中不感兴趣,我想继续使用gitlab作为源代码和容器注册表,但是如果由于某些原因我不得不切换到使用Azure容器注册表,我需要一种方法以某种方式使用gitlab ci yaml将容器注册移到那里。
在我所有的搜索中,我找不到任何方法可以执行此操作,但是我找到的最近的文档在这里:
答案 0 :(得分:1)
目前尚无从api正式进行此操作的方法,也许将来还会有