You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术咨询:新手能否使用Jenkins部署Hyperledger Fabric Chaincode?

可以用Jenkins部署Hyperledger Fabric链码吗?

当然可以,Jenkins完全能实现Hyperledger Fabric链码的自动化部署,这是区块链场景下CI/CD的常规实践。

核心实现步骤

  • 环境配置:在Jenkins运行节点上装好Fabric依赖(docker、docker-compose、Fabric二进制工具、jq等),确保节点能访问Fabric网络的peer、orderer节点,同时备好合法的Fabric身份证书(用来向网络发起请求)。
  • 编写Jenkins Pipeline:用Jenkinsfile定义完整部署流程,关键步骤包括:
    1. 拉取链码源码:从Git等代码仓库同步最新链码。
    2. 打包链码:执行peer chaincode package生成可部署的链码包。
    3. 安装链码到Peer:在目标peer节点上运行peer chaincode install。
    4. 批准链码定义:针对目标通道执行peer chaincode approveformyorg完成组织层面的审批。
    5. 提交链码定义:多组织场景下待所有组织批准后,执行peer chaincode commit将链码定义提交到通道。
    6. 验证部署结果:可选步骤,调用链码的初始化或查询接口,确认链码正常运行。
  • 敏感信息管理:用Jenkins凭据存储功能管理Fabric证书、密钥等敏感内容,别在脚本里硬编码。
  • 网络连通性:确保Jenkins节点和Fabric网络节点处于同一网络(比如打通Docker网络,或配置端口映射)。

示例Pipeline代码片段

pipeline {
    agent any
    environment {
        FABRIC_CFG_PATH = '/opt/fabric/config'
        CORE_PEER_ADDRESS = 'peer0.org1.example.com:7051'
        CORE_PEER_LOCALMSPID = 'Org1MSP'
        CORE_PEER_MSPCONFIGPATH = '/opt/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp'
        ORDERER_CA = '/opt/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem'
        PEER0_ORG1_CA = '/opt/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt'
    }
    stages {
        stage('拉取链码源码') {
            steps {
                git url: 'git@your-repo.com:your-project/chaincode.git', branch: 'main'
            }
        }
        stage('安装链码') {
            steps {
                sh 'peer chaincode install -n my-chaincode -v 1.0 -p github.com/your-chaincode-directory'
            }
        }
        stage('批准链码定义') {
            steps {
                sh 'peer chaincode approveformyorg -o orderer.example.com:7050 -C my-channel -n my-chaincode -v 1.0 --sequence 1 --tls --cafile $ORDERER_CA'
            }
        }
        stage('提交链码定义') {
            steps {
                sh 'peer chaincode commit -o orderer.example.com:7050 -C my-channel -n my-chaincode -v 1.0 --sequence 1 --tls --cafile $ORDERER_CA --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles $PEER0_ORG1_CA'
            }
        }
    }
}

注意事项

  • 不同Fabric版本的链码部署命令可能有差异,要对应版本调整参数。
  • 多组织网络中,必须每个参与组织都完成链码安装和批准,才能执行提交操作。
  • 可以给Jenkins任务添加触发器(比如Git提交触发),实现代码提交后自动部署链码。

内容的提问来源于stack exchange,提问作者Jsim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:20:41