容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付-阿里云开发者社区

开发者社区> 中间件小哥> 正文

容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付

简介: 今天将跟大家分享支撑双十一的容器镜像服务 ACR,以及它是如何实现搭配 IDE 插件和 CICD/云原生应用交付链来实现一键部署与持续集成
+关注继续查看

容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式。

甚至可以说,是在容器技术之后,DevOps、CI/CD 等运维关键问题才有了质的飞跃:实现资源的动态创建和销毁,更轻量的容器技术既能保证环境一致性也能进一步提高迭代频率,各种容器平台也能更好地保证应用高可用、自动伸缩、业务连续等等。

今天将跟大家分享支撑双十一的容器镜像服务 ACR,以及它是如何实现搭配 IDE 插件和 CICD/云原生应用交付链来实现一键部署与持续集成,以下是本文提纲:

  • 什么是 容器镜像服务 ACR
  • 如何搭配 免费 IDE 插件 实现一键部署
  • 如何运用 CICD/云原生应用交付链 实现持续集成与交付

想听软萌音在线讲解?阿里云小姐姐直播,手把手教你,12月5日晚上8点—9点,直播间等你(还有弹幕截屏送礼品!)

容器镜像服务 ACR

为了更好地支持双十一大规模分发需求,容器镜像服务(Alibaba Cloud Container Registery, ACR)团队提前进行规划及迭代更新,全面提升了大规模分发场景下的性能、可观测性和稳定性。在新的双十一来临前,容器镜像服务已达到了 PB 的镜像托管量,月均镜像拉取达数亿次,平滑度过 54.4 万笔交易峰值。

阿里云镜像仓库 ACR 分为默认实例版与企业版,虽然结合阿里云产品做了多维度优化,但是并不与阿里云强制绑定。ACR 默认实例版面向容器开发者,提供安全的镜像托管、便捷的镜像授权功能,方便用户进行镜像全生命周期管理,并且简化了 Registry 的搭建运维工作,支持全球 20 个地域的镜像托管。ACR 企业版面向安全需求高、业务多地域大规模部署的企业级客户,提供大规模镜像分发能力、企业级的安全独享特性,以及云原生应用交付链,全链路可观测、可跟踪以及可设置,可实现一次应用变更,多场景自动化交付。
1

如何搭配 免费 IDE 插件实现一键部署

2

Cloud Toolkit 是一款免费的本地 IDE 插件,很多技术博客都有相关的测评,是一款口碑较好的插件。它能够帮助开发者更高效地开发、测试、诊断并部署应用。设置好插件的初始配置之后,可以将本地应用一键部署到任意服务器 Host,甚至云端(ECS、ACR、Kubernetes 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器等工具,减少了切换工作界面的时间,灵巧且实用,推荐安装试用一波。下面介绍,插件如何将应用一键部署到容器镜像服务 ACR 。

开发者的部署包从形成镜像到镜像仓库,手动操作的话,每一次都需要经历下图 4 个步骤:登录阿里云Docker Registr--> 从Registry中拉取镜像 --> 将镜像推送到Registry --> 选择合适的镜像仓库地址,但是,使用 Cloud Toolkit ,开发者可以实现在本地 IDE 就能一键部署到镜像仓库。

(一)配置插件首选项

安装完插件之后,点击:顶部菜单Tools --> Alibaba Cloud Toolkit --> Preferences-->左边列表的 Alibaba Cloud Toolkit--> Accounts ,出现如下界面,配置阿里云账号的 AK 和 SK,即可完成首选项配置。(如果是子账号,则填写子账号的 AK 和 SK)

3

(二)设置本地 Docker 镜像打包

点击:顶部菜单Tools --> Alibaba Cloud Toolkit --> Preferences --> 左边列表的 Alibaba Cloud Toolkit --> Docker,如下图,设置本地 Docker 镜像打包。

4

(三)部署应用

第一步:在 Intellij IDEA 中,如下图点击:顶部菜单Tools --> Alibaba Cloud -->Deploy to ACR/ACK --> Deploy to ACR

5

第二步:设置 Image

  • 在 Image 标签页中,选择本地应用程序的 Context Directory 和 Dockerfile (通常会根据您本地的应用工程自动识别并设置)。
  • 选择容器镜像服务的地域、命名空间和镜像仓库。

6

第三步:执行部署

点击 Run 按钮之后,即可完成将本地 Docker 镜像推送到 ACR 中去。

如何运用 CICD/云原生应用交付链 实现持续集成与交付

7

ACR企业版的云原生交付链在托管交付分发等方面进一步提升,历经双11大促,沉淀了云原生应用万节点协同的技术经验。

目前支持容器镜像、Helm Chart 两类云原生应用资产,并采用独立网络访问控制,可细粒度控制公网及VPC 网络的访问策略,仅允许符合策略的来源方访问资产,保障访问安全。

同时实现了整个应用交付周期的流程自动化,开发者只要一次变更应用,按照配置多场景交付,即可实现一次应用变更,全球化多场景自动交付。
8

在应用交付环节,ACR EE 支持自动发起静态安全扫描并自定义配置安全阻断策略。一旦识别到静态应用中存在高危漏洞后,可自动阻断后续部署链路。用户可基于漏洞报告中的修复建议,更新优化构建成新的镜像版本,再次发起交付。

建设 CICD 体系还需要考虑到整体稳定和尽可能不断提升整体交付能力,比如监控报警、容错容灾、依赖治理、限流降级、容量规划。这里可以和大家分享 ACR 团队的相关经验:

  • 在依赖治理方面,要对云原生应用交付链中相关重点环节及外部依赖进行统一管理,识别热点仓库及追踪交付链执行结果;
  • 在限流降级方面,最好分析识别云原生应用分发核心环节的主次业务功能,优先保障主要业务逻辑完成,次要业务逻辑可降级延后处理;
  • 在容量规划方面,平台根据上下游业务变化情况,对资源进行按需扩容,确保云原生应用正常交付完成。

容器镜像服务 ACR 与 插件 Cloud Toolkit 免费面向开发者,帮助技术人员提高开发、部署效率,在减少时间成本的同时提高了业务的质量,还有双十一的顶级洪峰流量场景作为实践案例,希望这篇文章能帮助到有需要的人,并通过相关文章快速上手,真正实现业务价值。

有疑问的同学可以 钉钉扫码 加群解决:

k8s 社区
93b3628c50ba4a6746f68be0f50ea87ef1a1327f.png



IDE 插件群
0a43e54e4738bffb3a1fd28cb221a0040b0b7ad7.jpeg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
持续集成、持续交付、持续部署简介
怎样去理解集成、交付、部署的概念?首先集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题;部署是代码尽快向可运行的开发/测试节交付,以便尽早测试。
629 0
超大型系统的持续集成与持续交付解决方案与阿里宙斯盾
敏捷研发模式在小型团队中能够帮助开发人员进行快速迭代开发,但是对于大型团队而言,敏捷研发模式却并不能发挥应有的效果。那么如何实现超大型系统的持续集成与持续交付呢?本文就为你揭晓答案。
8444 0
vscode插件快餐教程(4) - 语言服务器协议lsp
在有lsp之前,存在三个主要问题: 一是语言相关的扩展都是用该语言母语写的,不容易集成到插件中去。毕竟现在大量的语言都带有运行时。 二是语言扫描相关的工作都比较占用CPU资源,运行在vscode内部不如放在独立进程,甚至远程服务器上更好。
2864 0
软件研发环节的持续交付容器技术尽在睿云智合Wise2C
睿云智合持续交付产品负责人,在敏捷和DevOps领域有丰富经验的实践,过去作为敏捷和DevOps技术教练向多家大型企业提供咨询和培训服务。
1028 0
基于容器服务的持续集成与云端交付(四)- 多种发布方式
前言 哲学有各种各样的流派,百家争鸣,但是只有一个哲学问题是严肃的,那就是生与死。而云端交付过程中也只有三个问题是严肃的。 如何重建你的系统 How to recreate your system? 如何安全地部署你的系统 How to safely change your system? 部署后的问题监控与解决 When something has gone wrong? 在前面的文章中,我们讲述了什么是云端交付,如何搭建从零搭建一个持续交付系统,而今天我们要谈的是如何安全的部署你的系统,部署这个名词包含了很多的含义,最简单的解释就是如何让你的程序运行在最终的环境上。
8147 0
使用容器镜像服务触发器自动更新容器服务应用
本文介绍如何使用容器镜像服务触发器自动更新应用中心应用的应用模板并同步部署到实际运行环境中。
704 0
让你的CI跑起来-《持续集成》读书总结
持续集成已经被公认为极具价值的一项工程实践。在初始化一个项目时一个重要的任务就是搭建持续集成服务器,编写构建脚本。在我工作的所有项目中都引入了持续集成机制。它已经像氧气一样成为软件开发过程中的一项工程活动。
885 0
基于容器服务的持续集成与云端交付(一)- 交付之禅
前言 随着微服务架构与容器虚拟化技术的发展,持续集成与持续交付的概念又重新回到了大家的视野,越来越多的公司开始使用持续集成的系统来解决频繁发布带来的质量问题;使用持续交付的工具来实现代码在不同环境上的自动部署。
8474 0
+关注
中间件小哥
阿里中间件(Aliware)官方账号
1062
文章
51
问答
来源圈子
更多
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载