blockchain
Chapter 8
· Agility in a Blockchain Network
· Defining the promotion
process
· Configuring the continuous integration pipeline
· Protecting the source
control
· Updating the network
· Designing team structures for a consortium
Defining the Promotion Process
Smart contract considerations Integration layer considerations
Promotion process overview
· Git issues to record new features or bug
fixes
· Git branches to isolate proposed modifications
· Git GPG to sign every commit and tag
· Pull requests to enforce governance
Promotion Process
BI oc hcLaim Test PJetwork
A rti fact
RepO
doloy infa X code
tramis—c i I h e Te FV/IT test
Loc a I b u iId & tests
Clone
Oev2
Promotion Process Constraints
Every code change is tied to a change request
Developers sign their modification using GPG
Master branch integrity is preserved by the
pull request process
The pipeline builds and tests the code for pull requests
The pipeline publishes the smart contract to the artifact repository when changes are tagged
Each organization receives a notification when
a new version is available
Configuring a Continuous Integration Pipeline
Customizing
Customizing the pipeline process
· Local build
· Configuring Travis CI
· Customizing the pipeline
Publishing
Publishing the smart contract package
Makefile Structure for Build
all
build
clean
chaincode
composer
>
test
chaincode test
composer_test
Configuring Your Git Repository
Setting the smart contract code owners
Protecting the master branch
Commit signing and validation
Local works tation GPG
Testing the End-to-end Process
Creating
Creating a new
transaction
· Pushing a commit to the master branch
· Pull requests with unsigned commit
Adding
Adding test cases
· Pull requests with a signed commit
· Adding a unit test
Releasing
Releasing a new
version
Updating the Network
1
Notifying the consortium
2
Upgrading the business network
· Downloading a new version
· Updating the business
network
Summary
· Agility in a Blockchain Network
· Defining the promotion process
· Configuring the continuous
integration pipeline
· Protecting the source control
· Updating the network
· Designing team structures
for a consortium