本文介绍了如何使用 GitHub Actions 和 Virtual TestNets 简化 CI 设置,通过 Virtual TestNets 替代本地节点和公共测试网,利用 GitHub Action 自动配置与主网数据同步的 Virtual TestNet,从而自动化部署和运行 Hardhat 测试,加速开发和测试周期。
通过使用 GitHub Action 来配置与主网数据同步的新虚拟测试网,从而简化你的 CI 设置。然后,自动化部署并运行你的 Hardhat 测试,以加速你的开发和测试周期。
虚拟测试网是单一的开发基础设施,可以替代本地节点和公共测试网。虚拟测试网旨在适应你的开发工作流程,可以集成到你的 CI 管道和现有框架中,从而开启新的测试功能,同时节省大量资源。
通过简单的 GitHub Action,你可以在与 Hardhat 集成的虚拟测试网上设置你的 CI 基础设施。这样,你可以自动化部署,测试端到端集成,并加快整个 CI 过程。
将虚拟测试网集成到你的 CI 管道中,可以为你提供零设置的开发环境,以自动化智能合约部署和测试代码更改。你甚至可以通过在虚拟测试网上暂存你的智能合约、前端和后端组件来测试端到端 dapp 集成。
在 CI 管道中使用虚拟测试网可以消除团队在本地节点和公共测试网管理上的开销。你可以通过 GitHub Action 简化整个 CI 设置,该 Action 会自动配置与主网数据同步的全新虚拟测试网环境。
这样,你可以为你的 Hardhat 测试设置一个快速、可复现的 CI 管道,从而实现:
在虚拟测试网上设置 CI 基础设施的最简单方法是使用 GitHub Action,该 Action 会自动为你的 CI 运行配置一个新的虚拟测试网。使用此 GitHub Action 将虚拟测试网与 Hardhat 集成,并为自动化测试设置高效的 CI 管道。
要设置你的 CI 管道,你需要完成几个简单的步骤:
@tenderly/vnet-github-action
要开始使用,请查看此示例 GitHub 工作流程设置:
name: Hardhat Pipeline
on: [push, pull_request]
env:
DEBUG: '@tenderly/github-action'
## Needed available as env variables for Hardhat.config.js
TENDERLY_PROJECT_NAME: ${{ vars.TENDERLY_PROJECT_NAME }}
TENDERLY_ACCOUNT_NAME: ${{ vars.TENDERLY_ACCOUNT_NAME }}
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Setup Virtual TestNet
uses: Tenderly/vnet-github-action@v1.0.6
with:
access_key: ${{ secrets.TENDERLY_ACCESS_KEY }}
project_name: ${{ vars.TENDERLY_PROJECT_NAME }}
account_name: ${{ vars.TENDERLY_ACCOUNT_NAME }}
testnet_name: "Staging TestNet"
network_id: 1
chain_id: 1
state_sync: true
public_explorer: true
verification_visibility: bytecode
- name: Install dependencies
run: npm install
- name: Run Tests
run: npm run test:vnet
working-directory: examples/Hardhat-ignition
- name: Deploy Contracts
run: npm run deploy:vnet
working-directory: examples/Hardhat-ignition
在“Setup Virtual TestNet”步骤完成后,RPC 链接将在环境变量 TENDERLY_ADMIN_RPC_URL
中,你需要从你的 hardhat.config.ts 中引用该变量。
一旦你运行了测试并且 action 完成,Tenderly/vnet-github-action
将暂停虚拟测试网,自动关闭 RPC。虽然你无法在此虚拟测试网上进一步运行测试,但你的所有交易数据都可用于检查和分析,使你能够识别任何潜在的错误。
如果你的任何 Hardhat 测试失败,你可以在对开发者友好的 Tenderly Dashboard 中找到失败的交易。虚拟测试网配备了内置的私有浏览器和调试工具,使你能够在测试失败后立即排除问题。
ℹ️
有关更详细的设置信息,请遵循此分步文档指南。
用零设置的虚拟测试网替换消耗资源的 инфраструктура 管理。虚拟测试网与你现有的框架无缝集成,为你的开发和测试工作流程带来自动化的部署和近乎即时的执行。
通过使用用于虚拟测试网 CI 基础设施的 GitHub Actions,你可以快速设置基于主网的 CI 测试环境,并自动化整个过程,同时获得完整的链上数据。要开始使用,尝试在几毫秒内 fork 一条链!
- 原文链接: blog.tenderly.co/setting...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!