Web3与DevOps的结合:创建管道的初始结构

243 阅读3分钟

[

Donovan Brown

](medium.com/@donovan.br…)

多诺万-布朗

关注

6月22日

-

3分钟阅读

[

拯救

](medium.com/m/signin?ac…)

Web3需要DevOps

Web3遇到DevOps:创建管道的初始结构

第四部分 - 为以太坊区块链建立DevOps管道

照片:Fotis FotopoulosonUnsplash

在本系列的上一篇文章《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管道可以由阶段、工作和步骤组成。为了开始工作,我决定列出我的阶段和工作。这使我能够定义阶段和工作之间的依赖关系,并看到我的整个管道。

最初的结构

使用网络编辑器,我更新了代码以定义我的管道结构。我的流水线有六个阶段。

  1. build:编译、测试和打包工件
  2. dev:部署基础设施、合同和前端
  3. dev_validation: 等待人工验证dev并删除dev环境
  4. qa部署基础设施、合同和前端:部署基础设施、合同和前端
  5. qa_validation 等待人工验证 并删除 环境。qa qa
  6. prod:部署基础设施、合同和前台

最初的管道结构

我保存并运行了我的管道,以确认一切结构正确并运行。

Six stage Azure Pipeline with all green check marks

管道的成功运行

在管道的初始运行后,我将我的变化同步到我的本地开发机器上,将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