Azure DevOps(一)利用Azure DevOps Pipeline 构建应用程序镜像到AWS ECR
一,引言
最近项目上让开始学习AWS,作为一名合格的开发人员,当然也是学会利用Azure DevOps Pipeline 将应用程序部署到 AWS ECS(完全托管的容器编排服务)。我们要学会将应用程序部署到多云的环境上,技多不压身!!!!
首先肯定的是,我们必须先依赖Azure DevOps 进行应用程序构建 docker images 。并且将 dockre image 推送到 AWS ECR(完全托管的容器注册表)
二,正文
1,创建AWS ECR 容器注册表
登陆到AWS 控制台后,搜索 ECR,在东京区 “ap-northeast-1” 创建私有镜像仓库
点击 “Create repository” 创建一个新的镜像仓库
输入相关参数
Visibility settings:“Private”
Repository name:“cnbateblogweb”
点击 “Create repository” 创建镜像仓库
创建完成后,可以看到创建好的 “cnbateblogweb” 的私有镜像仓库信息
2,创建AWS 访问控制的Key
AWS 的访问控制权限设计的很全面,可以精细控制到具体某个服务的操作动作,我们如果想利用Azure DevOps Pipeline 推送镜像到AWS ECR,那么我们就需要配置 Service Connection。所以就需要我们提前配置好 AWS access_key 和 secret_key
我这边为了方便演示,就直接为主账号,也就是 root 账号创建 access_key。(注意,如果是其他子账号信息,就要确保子账号必须有push images 到 ECR 的权限信息)
点击控制台在右上角的个人账号,在下拉选择项中点击 “My Security Credentials”。
展开Access Keys(access key ID and secret access key) ,点击 “Create New Access key”
下载,保存 Access key,并且查看到刚刚创建好的机密信息
3,设置 Azure DevOps Pipeline
前置条件1,需要安装 “AWS Tookit for AzueDevOps” 到 Azure DevOps。Extensions for Visual Studio family of products | Visual Studio Marketplace
选择将 “AWS Tookit for Azure DevOps” 安装到 Azure DevOps,等待下载完成就可以了。
接下来我们需要登陆到 Azure DevOps 上创建新的项目
Project name:“CnBateBlogWeb_AWS”
Visibility:“Private”
Advanced Setting=》 Work item process:“Agile”
点击 “Create”
创建好项目之后,我们先把连接到 AWS 的 Service Connection 配置好
点击 “Project setting”,设置服务连接。
选择 “Pipeline =》Service connection”,并点击 "New service connection" 创建一个新的服务连接
选择新的连接类型 “AWS”,点击 “Next”
输入前面在 AWS 控制台上创建好的 access_key,secret_key
service connection name:“CnBateBlogWeb_ServiceConnection”
点击 “Save” 进行保存操作
接下来需要创建 Pipeline,选择 “Pipelines”,点击 “Create Pipeline”
选择使用 “Use the classic editor” 创建 Pipeline
我们的测试项目是放在GitHub上的,大家可以自行选择自己的项目的实现存储仓库,点击 “Continue”。
在选择输入搜索 “docker”,并选择 “Docker container” 后,点击 “Apply”
因为我们要把构建好的 docker image 推送的 AWS ECR 中,所以我们就得先删除掉默认的 “push an image” 这个task
目前只留一个 "Build an image" 的就task,可以看到当前 Task 的参数信息
Container Register 可以选择:“Container Register”
Docker Register Service Connection 不需要添加(当前任务是构建 images,并且我们目标是AWS ECR,是不需要添加 Docker Register Service Connection)
Docker File 选择项目中 dockerfile 文件路径。
Image Name :需要我们多多注意一下,当前构建的 images 镜像的命名是 Repository 名称+BuildId
点击图中的 “+”,添加新的Task
搜索框输入关键字 “ECR push”,选择 “Amazon ECR Push”,并点击 “Apply”
修改相关参数
Display name:“Push Image To AWS ECR”
AWS Credentials:“CnBateBlogWeb_ServiceConnection”
AWS Region 选择:“Asia Pacific(Tokyo)[ap-northeast-1]”
Source Image Name:“$(image_name)/cnbateblogweb”
Source Image Tag:"$(Build.BuildId)"
Target Repository Name:“cnbateblogweb”(注意,这个名称必须跟AWS 控制台上创建的ECR 的名称一致)
Target Repository Tag:“$(Build.BuildId)”
确定完参数后,点击 “Save & queue”
选择运行Pipeline 的代理池等信息后,点击 “Run”
等待Pipeline运行完成后,可以看到运行成功
查看详细信息得知,Azure DevOps 以及将镜像Tag 为 28 的 “cnbateblogweb” 的镜像推送到 AWS ECR 中了
我们可以回到AWS 控制台查看ECR的状况
bingo !!!! 完成。
三,结尾
今天的操作有些骚,本来好好的讲解Azure和 Azure DevOps 相关的内容,却发了一篇AWS 相关的文章!!!!其实各位,AWS在全球所占的份额还是很高的。不管是 Azure 还是 AWS,我们都是需要学习的。由条件的同学多练习练习,动手操作一番才能更熟练的掌握。关于今天的内容就差不多到此结束,下一篇我们进行讲解如何利用 Azure DevOps 部署应用程序到 AWS ECS。
文章来自博主本人自己的博客:https://allenmasters.com/post/2021/5/26/azure-devopsazure-devops-pipeline-aws-ecr
欢迎大家关注博主的博客:https://allenmasters.com/
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
Azure DevOps(一)利用Azure DevOps Pipeline 构建应用程序镜像到AWS ECR的更多相关文章
- Azure DevOps(二)利用Azure DevOps Pipeline 构建基础设施资源
一,引言 上一篇文章记录了利用 Azure DevOps 跨云进行构建 Docker images,并且将构建好的 Docker Images 推送到 AWS 的 ECR 中.今天我们继续讲解 Azu ...
- Azure App Service(一)利用Azure DevOps Pipeline 构建镜像,部署应用程序
一,引言 起因是前两天项目上做测试,需要我把写好的基于.NET 5 的 Web 测试程序作成 Docker 镜像.当我在本地验证完功能后,准备利用 Docker 构建应用程序镜像的时候,发现系统不支持 ...
- spark ml pipeline构建机器学习任务
一.关于spark ml pipeline与机器学习一个典型的机器学习构建包含若干个过程 1.源数据ETL 2.数据预处理 3.特征选取 4.模型训练与验证 以上四个步骤可以抽象为一个包括多个步骤的流 ...
- 如何利用Azure DevOps快速实现自动化构建、测试、打包及部署
前两天有朋友问我,微软的Azure好用吗,适不适合国人的使用习惯,我就跟他讲了下,Azue很好用,这也是为什么微软云营收一直涨涨涨的原因,基本可以再1个小时内实现自动化构建.打包以及部署到Azure服 ...
- Azure Terraform(九)利用 Azure DevOps Pipeline 的审批来控制流程发布
一,引言 Azure Pipeline 管道是一个自动化过程:但是往往我们由于某种原因,需要在多个阶段之前获得批准之后再继续下一步流程,所以我们可以向Azure Pipeline 管道添加审批!批准流 ...
- 利用 Azure Devops 创建和发布 Nuget 包
利用 Azure Devops 创建和发布 Nuget 包 原 Visual Studio Team Service ,简称 VSTS,能够创建 pipelines 管道以构建应用程序,并将其部署到任 ...
- Azure Terraform(五)利用Azure DevOps 实现自动化部署基础资源
一,引言 上一篇我们结合学习 Azure Traffic Manger 的内容,做了一个负载均衡的基础设施架构.通过 Terraform 部署执行计划,将整个 Azure Traffic Manage ...
- Azure Terraform(七)利用Azure DevOps 实现自动化部署基础资源(补充)
一,引言 之前一篇文章有讲解到利用 利用Azure DevOps 实现自动化部署基础资源,当时 TF 代码没有针对 Azure 各个资源的封装,所有的资源代码全部写在一个 main.tf 文件中.然后 ...
- Azure Terraform(八)利用Azure DevOps 实现Infra资源和.NET CORE Web 应用程序的持续集成、持续部署
一,引言 上一篇讲解到利用 Azure DevOps 将整个 Azure Web App,Azure Traffic Manager profile,Azure Storage Account,Azu ...
随机推荐
- Vue中的Xss构造
首发tools:https://www.t00ls.net/thread-59512-1-1.html 存储型XSS 最近做测试的时候碰到了一个前端页面使用了Vue框架的项目 在测试XSS漏洞的过程中 ...
- 想要更高效地找到信息,你需要掌握这些搜索技巧 (google or baidu)
想要更高效地找到信息,你需要掌握这些搜索技巧 (google or baidu) 转载:https://tingtalk.me/search-tips/ 在大型局域网(互联网)的今天,你以为搜索是一门 ...
- 201871010129-郑文潇 实验二 个人项目—《D{0-1}背包问题 》项目报告
项目 内容 课程班级博客链接 课程链接 这个作业要求链接 [作业要求](https://www.cnblogs.com/nwnu-daizh/p/14552393.html) 我的课程学习目标 1.掌 ...
- Dynamics CRM实体系列之窗体
本节开始讲Dynamics CRM的窗体排版和设计,窗体也就是我们实际可以看到的表单界面.Dynamics CRM提供了一套独立的表单模板设计引擎,可以很方便的为开发者提供无代码开发,只需要简单的拖动 ...
- 安装Dynamics CRM Report出错处理一
删除下面两个注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce.HKEY_CURRENT_USER\So ...
- 【OO第二次作业】关于Homework2性能分的思考
为了获得更多的性能分,个人目前想到了以下注意点: Homework2与Homework1还是有不少相似之处的,因此在上次作业中的这些性能提升点,此次依然有效-- 表达式之间不含空格 如果存在正项,则表 ...
- Spring Boot 整合Junit和redis
14. Spring Boot整合-Junit 目标:在Spring Boot项目中使用Junit进行单元测试UserService的方法 分析: 添加启动器依赖spring-boot-starter ...
- 学习WEB前端是应该自学还是参加培训机构?
先说观点,我强烈建议每个人都要自学,不要参加培训班. 我干web前端工程师这个职位已经有6年多的时间,之前在蚂蚁金服做过2年,后来离开是因为加班实在熬不住才走的,像这些已经上市的互联网公司几乎没有不加 ...
- BLUENRG-LP 学习笔记
在学习 BLUENRG-LP 的过程中,及时地把碰到的问题记录下来,并作解答,形成本文档. 该文档会时时更新,并且当某些章节内容过多时,会独立出来,形成新的文章. BLUENRG-LP 的特性 芯片内 ...
- 【日志】MySQL中有多少种日志
redo 重做日志 作用:确保事务的持久性,防止在发生故障,脏页未写入磁盘.重启数据库会进行redo log执行重做,到达事务一致性 undo 回滚日志 作用:保证数据的原子性,记录事务发生之前的数据 ...