[

6月22日
-
3分钟阅读
[
拯救
Web3需要DevOps
Web3遇到DevOps:创建管道的初始结构
第四部分 - 为以太坊区块链建立DevOps管道
在本系列的上一篇文章《Web3遇见DevOps:编写地址服务》中,我已经把前端、合约和支持代码准备好了。在这篇文章中,我将开始创建我们的管道。
在我开始建立管道之前,我需要将我的改动发布到一个远程git服务上。虽然我的DevOps管道使用的是Azure管道,但我使用GitHub 来存储我的源代码。Azure管道和GitHub配合得很好,我得到了两个世界中最好的东西。
如果你需要帮助创建一个Azure DevOps项目(以容纳你的Azure管道)或创建并推送你的代码到GitHub仓库,你可以使用下面的链接。
我为这篇文章创建了一个名为 "blog/part4"的新分支。
git checkout -b blog/part4
管线菜单和创建管线按钮
在我的代码被推送到GitHub后,我浏览了Azure DevOps的管道页面,点击了创建管道按钮。
然后当问到 "你的代码在哪里 "时,我选择了GitHub。我选择了带有我的代码的 repo,然后选择了 Starter pipeline。
Azure管道可以由阶段、工作和步骤组成。为了开始工作,我决定列出我的阶段和工作。这使我能够定义阶段和工作之间的依赖关系,并看到我的整个管道。
最初的结构
使用网络编辑器,我更新了代码以定义我的管道结构。我的流水线有六个阶段。
build:编译、测试和打包工件dev:部署基础设施、合同和前端dev_validation: 等待人工验证dev并删除dev环境qa部署基础设施、合同和前端:部署基础设施、合同和前端qa_validation等待人工验证 并删除 环境。qaqaprod:部署基础设施、合同和前台
最初的管道结构
我保存并运行了我的管道,以确认一切结构正确并运行。

管道的成功运行
在管道的初始运行后,我将我的变化同步到我的本地开发机器上,将azure-pipelines.yml 文件拉下来。这是包含我的管道定义的文件。
为了使我的管道更容易创建,我在项目的根部添加了一个package.json 文件,其中包含Truffle的依赖性。Azure管道使用微软托管的代理来运行。它们包含最常见的包,我可以通过package.json 文件添加额外的包。
在这种情况下,我需要添加Truffle。这里列出了预先安装的软件包。必须安装Truffle来编译、测试和迁移合同。在根目录下安装Truffle将创建一个不需要跟踪的node_modules 文件夹。因此,我把它添加到项目根部的.gitignore 文件中。
在.gitignore中添加了node_modules
然后我运行了以下命令。
npm install --save-dev truffle
我决定创建一个package.json 文件,以备将来需要额外的包。
package.json
最后,我提交了所有的修改。
git add package.jsongit add package-lock.jsongit commit -a -m "adding pipeline yaml"
然后我把我的修改合并到了main 。
git checkout maingit merge blog/part4
在本系列的下一篇文章中,我将完成管道的构建阶段。
Credits