基于前面Github Action和AWS CodePipeline的实践基础,了解和熟悉如何通过Azure devops来实现类似的功能,进一步了家各大厂商在实践devops的各自特点和最佳实践
从github下拉代码后,会设置maven的编译环境,首先build出jar包,然后将jar包打入docker image
Azure devops中需要和第三方服务交互时(比如和github交互、docker hub,Azure container app等),通过创建service connection 来保存相关token,账号信息(类似于AWS的secretManager)。
制品是docker image,存放在DockerHub中. 也可以用Azure提供的 container registry
Azure devops pipeline中内置集成了和azure service交互的模块,可以直接使用(详细可以参考文末的完整pipeline)。
本次实践的pipeline需要提前创建好azure container app,然后在pipeline中使用该环境。也可以通过在pipeline中直接创建azure container app环境(可以通过az cmd, bicep, terraform的方式来初始化目标环境),这就需要结合业务的实际需求来决定。