![]() ![]() provide the following definition of a distributed ledger: “A distributed ledger is an append-only store of transactions which is distributed across many machines”. Figure 1 presents loop of steps in continuous integration and delivery approaches. On the contrary, CD approach is a pull-based one. Each release is deployed automatically onto the user acceptance test environment or even production one. The CDT approach elevates automation on even higher level. CD practice requires specific governance to act properly, i.e., infrastructure, data, and configuration management. They have defined the notion of the deployment pipeline as an automated process of tasks, which is responsible for producing release. Humble and Farley present the comprehensive description of the continuous delivery process. The release process and automated acceptance tests allow for application under development of on-demand deployment. The practice employs a set of stages including the acceptance tests and release process. It aims to enable on-demand software release. The CD approach goes even further in software development automation. ![]() Iterative automated testing elevates software quality in the CI approach. The practice raises team productivity by frequent releases. Test automation ensures checking that the application works correctly in case a new commit is merged into the release branch. The new or changed code is incorporated into a build and checked by automated tests. Generally, developers frequently merge their code with release or main branches. The Git distributed version control has its own branching model. The service ensures the source code version control in a distributed manner using Git. The basis for a CI is a version control environment. The practice encompasses automation of software builds and testing. CI practice involves that software is integrated continuously during development. The author has distinguished, and provided abbreviations for, the following notions: continuous integration (CI), continuous delivery (CD), and continuous deployment (CDT). The fundamental principle of the Agile Manifesto underlines the importance of early and continuous delivery of software that meets the needs of the customer. For the sake of verification, tests have been conducted for the electricity consumption and supply management system designed for prosumers of renewable energy. Both the business application and deployment configurations are stored in the GitHub repositories. The refined model-to-code transformation generates deployment configurations for nodes. The modeling aspect of blockchain network installation has required using Unified Modeling Language (UML) and the UML Profile for Distributed Ledger Deployment. The Smart Contract Design Pattern has been used when building a business application. ![]() As a result, the framework ensures the deployment package in the actual version of the business application with the node-specific up-to-date version of deployment configuration files. The first pipeline prepares a business application whereas the second one generates complete node deployment packages. As a result, two continuous delivery pipelines have been implemented using the Jenkins automation server. The author has proposed a solution that takes into account the continuous delivery of a business application to diverse deployment environments in the DLT network. Specifically, it lacks such works with support for both design and deployment. The literature lacks research focusing on continuous practices for blockchain and Distributed Ledger Technology (DLT). Each node executes the same business application but operates in a distinct execution environment. In a blockchain network, nodes communicate and store data in a distributed manner. ![]() Ensuring a production-ready state of the application under development is the imminent feature of the Continuous Delivery (CD) approach. ![]()
0 Comments
Leave a Reply. |