打工e族

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 84|回复: 0

在 Azure 上构建智能合约的 DevOps 管道

[复制链接]

1

主题

1

帖子

5

积分

初入职场

Rank: 1

积分
5
发表于 2023-9-21 14:27:37 | 显示全部楼层 |阅读模式
如何将智能合约引入 DevOps 管道?首先,我们需要停止将 Web3 技术视为与企业应用程序堆栈的其余部分隔离的想法。如果这样做,您可以找到集成点,例如将智能合约放入测试工具中并使用测试优先的开发技术。

Brown 使用 Azure 管道构建了一个基于以 电话号码数据 太坊的分布式应用程序环境,具有开发环境(Dev)、测试环境(QA)和生产输出,并在此过程中开发了 Azure Static Web Apps 作为前端托管。开发环境部署在 Azure 容器中的私有以太坊实例上运行。这种方法的最大问题是将智能合约部署到不同的环境。  



人们发现,智能合约硬编码了一个地址,该地址在编译成 JSON 文件时会自动添加。这需要为每个部署重建整个合同,需要为每个环境进行多次重建。Brown 指出这是一种背离 DevOps 原则的模式。在运行时,必须立即添加并编译每个环境的特定值。如果您想支持网络地址的外部源,则需要重写应用程序前端代码。这种方法使得在找不到合约地址时更容易使用服务,并在执行查询时使用 Azure Functions 传递地址。

在这种结构中,Brown 编写的代码只能在前端构建一次,并支持在部署管道的每个阶段使用。然后,他能够在应用程序中使用标准 JavaScript 测试框架。您可以构建构建每个环境所需的所有步骤,并将其从 GitHub 存储库部署到单个 Azure 管道中,并在验证每个步骤时删除该环境。Azure 容器应用等工具可以帮助您快速部署构建工件。  

从这里开始,你可以通过添加对每个环境的其他框架、Bicep 等编码工具以及 Azure CLI 和 PowerShell 中的系统管理脚本的支持来构建可重复的环境。它还可以提供可立即运行的应用程序以及所有服务器和服务。在 Azure 上使用平台即服务和平台即服务工具可以消除不再需要的环境,从而节省资金,并且可以确保应用程序和应用程序环境的部署是幂等的。对代码的每次更改都需要应用程序范围的重新定位和基础设施支持。

针对区块链技术的成熟度模型
Brown 正在创建的技术展示了如何将 Web3 技术作为现代应用程序框架的一部分部署在熟悉的企业环境中。无需使用您熟悉的工具以外的工具,例如 GitHub、Azure DevOps、Azure Container App 或 VS Code。然而,Web3 框架处理环境变量和动态资源的方式需要改变。这些不是为在多阶段管道中工作而设计的,需要进行更改才能为企业应用程序大规模提供适当的成熟度级别。此外,需要更好的遥测技术,让开发人员更清楚地了解他们的应用程序和合约的执行情况。

这项技术的成果是熟悉的和新的混合体。这是一件好事,因为它使开发人员更容易采用新技术并将其引入现有的开发流程中。对于微软来说,更深入地研究能够加速创新的新技术非常重要。企业可以提供从实验到企业的孵化路径。我们多年来在自己的平台上和平台外开发企业应用程序的经验为我们提供了这条道路。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|打工e族 ( 鲁ICP备2021044221号 )

GMT+8, 2024-11-23 11:56 , Processed in 0.047483 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表