Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

这篇具有很好参考价值的文章主要介绍了Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,引言

  结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译。同时也兼顾了 Sonarqube 作为代码扫描工具。接下来另外一个问题出现了,Azure DevOps 由于有人员限制,项目上不能给非开发人员或者外包成员开权限,这个时候就需要将编译好的程序包上传到公共网盘或者私有的远端存储账户,方便下载。那么我们今天就结合 Azure storage account 来实践一次利用 Azure Release Pipeline 自动将编译好的程序包发布到 Blob Storage 中。接下来就开始了今天的实践内容。

--------------------Azure DevOps 系列--------------------

1,Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译

2,Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性

3,Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

二,正文

1,创建存储账户

我们登录 Azure Portal,点击 “create a resource” 创建新的资源

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

输入 “storage account” 查看资源,并进行创建

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

输入以下参数:

Resource group:“Web_Test_SA_RG”(已有的资源组,也可以选择创建新的)

Storage account name:“cloudplatform”

Performance 选择:“Standard”

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

Redundancy 选择:“Locally-redundant storage(LRS)”

点击 “Review” 进行创建前的预校验

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

预校验完成后,点击 “Create” 进行创建

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

等待创建完成后,跳转到该资源进行查看

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

2,为 service principal 授权

创建 sp 的过程大家可以参考:Azure AD(四)知识补充-服务主体

接下来就是为 Azure DevOps 的 Service connection (也就是服务主体设置权限)

选择 “cloudplatform =》Access Control”,点击 “+ Add”,添加角色分配

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

选择 “Storage Blob Data Contributor” 点击 “Next”

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

点击 “+ Select members”,选择好 service principal,点击 “select” 进行选择确定

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

点击 ”Review + assign“ 进行确定预览指派权限控制

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

稍后,我们就可以看到当前 sp 的权限信息,Scope 为 ”This resource“

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

3,创建 Release Pipeline

登录 azure devops 找到上一篇课程中创建的项目 “NetCore_WPF_Sample” 项目

选择 “Pilelines =》Releases”,点击 “New pipeline” 创建新的管道作业

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

点击 ”Artifacts + Add“ 添加发布源

Source type 选择:”Build“

Project:”NetCore_WPF_Sample“

Source(build pipeline)选择 :”yunqian44.Standard.Tool.Platform“(build Pipeline)

Dafault version:”Latest“

Source alias 选择默认

点击 ”Add“ 进行添加操作

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

接下来点击箭头所指的位置,添加任务项。

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

1)添加新的 ”Task“,输入 ”Azure CLI“ 进行查询,并添加

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

输入以下参数

Manage 选择:”vs“(自己项目所用的 serviceconnection)

Script Type:”Shell“

Script Location:”Inline script“

Inline Script:

# create azure resource group
az group create --location eastasia --name $(terraform_rg)

# create azure storage account
az storage account create --name $(storage_account) --resource-group $(terraform_rg) --location eastasia --sku Standard_LRS

# create storage account container for package blob 
az storage container create --name $(storage_account_container) --account-name $(storage_account)

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

2)搜索 ”Archive files“,添加压缩任务

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

修改 需要压缩的文件或者文件夹的根目录

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

如下图所示:

源:改为 Build Pipeline 输入目录下的 drop 文件

目标:改为Build Pipeline 输入目录下已 BuildId 命名的压缩文件

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

接下来,我们添加 ”Azure file copy“,添加文件拷贝任务

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

输入一下参数,需要注意  存储账户,容器名称 Blob 前缀都已变量的形式体现

Source 选择 ”Archive“ 任务输出的压缩文件的目录

Azure Subscription 选择实际项目

Destination Type 选择:”Azure Blob“

RM Storage Account:$(storage_account) 

Container Name:$(storage_account_container)

Blob prefix:$(Build.BuildId).zip

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

最后,我们需要添加变量,选择 “Variable”,点击 “+” 进行操作,输入以下参数,并保存

Name Value
storage_account cloudplatform
storage_account_container wpf-client
terraform_rg Web_Test_SA_RG

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

点击 “Create release” 尝试运行 release pipeline 

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

点击 “OK” 确认此操作

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

Release Pipeline 运行成功

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

存储账户的容器 “” 也被创建好了

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

编译好的程序包已被上传到 Storage Account 的 Container 中了

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

Bingo!!!!!🎈🎉🎉🎉

三,结尾

结合前两篇内容讲解的 Azure DevOps 系列,基本上从项目前期的持续集成,持续编译,到中期的代码静态扫描,再到后期的实现项目编译好的程序包自动发布到存储账号中,基本已经满足项目需求。DevOps 已从完美的升级为  DevSecOps 了。下一篇,对我我们目前的项目,我是如何实施DevOps的!!!尽请期待。

Azure Blob 存储文档 ----- 访问控制:https://learn.microsoft.com/zh-cn/azure/storage/blobs/data-lake-storage-acl-cli

github:https://github.com/yunqian44/Standard.Tool.Platform

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。文章来源地址https://www.toymoban.com/news/detail-434286.html

到了这里,关于Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Azure - 自动化机器学习AutoML Azure使用详解

    自动化机器学习,简称为AutoML,旨在将机器学习模型的开发中繁琐且重复的任务自动化。这使得数据科学家、分析师以及开发人员能够构建高度可扩展、高效和高性能的ML模型,且不牺牲模型的质量。Azure 机器学习的AutoML功能是基于Microsoft Research团队的前沿技术而开发的。 关

    2024年02月08日
    浏览(36)
  • DevOps实现自动化发布实操

    本篇文章来自 B站视频(部分步骤与视频存在差异) 本地编写代码 提交至远程仓库 Jenkins(基于Docker)通过内置Git获取提交的代码,通过Maven进行打包,形成可执行文件,发送至目标服务器并执行启动命令 访问目标服务器查看效果 查看目标服务器,并未启动java项目 访问Jen

    2024年02月12日
    浏览(32)
  • 20个Golang自动化DevOps库

    探索 20 个用于简化任务和提高生产力的重要库。 Golang,也称为 Go,是一种静态类型、编译型编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 设计。它于 2009 年推出,旨在解决其他编程语言的缺点,特别是在并发编程、垃圾收集和代码可维护性方面。 Golang 拥有众多优

    2024年02月14日
    浏览(33)
  • 解锁极狐GitLab 自动化功能:Webhook 触发 Pipeline 与计划流水线

    本文来自: 杨洪丽 极狐GitLab 高级网站可靠性工程师(SRE) 只使用极狐GitLab 存放代码? 那你就 OUT 啦! 如果你也遇到了如图 A / B / C / D 各位同学的烦恼,不要错过这篇能够让你日常工作更高效的内容。 关于 A 和 B 同学的烦恼,可以使用  Webhook 触发 Pipeline ,打通工作消息通知

    2024年02月04日
    浏览(41)
  • 【前端自动化部署】,Devops,CI/CD

    提到 Jenkins ,想到的第一个概念就是 CI/CD 在这之前应该再了解一个概念。 DevOps Development 和 Operations 的组合,是一种方法论,并不特指某种技术或者工具。 DevOps 是一种重视 Dev 开发人员和 Ops 运维人员之间沟通、协作的流程。通过自动化的软件交付,使软件的构建,测试,发

    2024年02月10日
    浏览(35)
  • 前端自动化部署,Devops,CI/CD

    提到 Jenkins,想到的第一个概念就是 CI/CD 在这之前应该再了解一个概念。 DevOps  Development  和  Operations  的组合,是一种方法论,并不特指某种技术或者工具。DevOps 是一种重视  Dev  开发人员和  Ops  运维人员之间沟通、协作的流程。通过自动化的软件交付,使软件的构建

    2024年02月10日
    浏览(46)
  • Azure通过自动化账户实现对资源变更

    参考文档:https://docs.azure.cn/zh-cn/automation/quickstarts/create-azure-automation-account-portal 保存,并在测试窗格里面进行测试 若没有问题,点击发布。 添加runbook S1为定价层 官方文档: https://docs.azure.cn/zh-cn/automation/troubleshoot/runbooks

    2024年02月14日
    浏览(39)
  • DevOps自动化平台开发之 Shell脚本执行的封装

    基于如下技术栈开发DevOps平台 Spring Boot Shell Ansible Git Gitlab Docker K8S Vue  1、spring boot starter的封装使用 2、Shell脚本的编写 3、Ansible 脚本的编写 4、Docker 的使用与封装设计 本篇介绍如何使用Java封装Linux命令和Shell脚本的使用 将其设计成spring boot starter maven依赖pom文件 具体的封装

    2024年02月15日
    浏览(31)
  • DevOps系列文章之 GitlabCICD自动化部署SpringBoot项目

    本文主要记录如何通过Gitlab CI/CD自动部署SpringBoot项目jar包。 准备三台 CentOS7服务器,分别部署以下服务: 序号 系统 IP 服务 1 CentOS7 192.168.56.10 Gitlab 2 CentOS7 192.168.56.11 Runner (安装Docker) 3 CentOS7 192.168.56.12 SpringBoot 项目 jar 包(安装jdk、maven等) 上述服务也可以只用一台CentOS

    2024年02月13日
    浏览(34)
  • DevOps—基于 Jenkins 构建 Vue 前端工程自动化流程

    一个完整的生产环境的 CI/CD 流程,往往会包括以下这些阶段: 编码 → 提交 → 构建 → 测试 → 交付 → 部署 这里只是演示,就省略了测试相关阶段,只包含提交、构建、发布、部署,一个简单的流程如下: vue 应用构建依赖于 Nodejs,需要在 Jenkins 上安装 Nodejs 插件,并且进

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包