Integrating Db2 for z/OS Database Changes Into a CI/CD Pipeline

Book description

The goal of this IBM® Redbooks® publication is to demonstrate the ability to perform single click automated deployments of multi-platform applications that include IBM Db2 for z/OS database schema changes by using the capabilities of IBM Db2 DevOps Experience for z/OS.

Pushing the application and database code changes to a source control management system (SCM) triggers a single CI/CD pipeline execution for application and database changes. Therefore, it mitigates the dependency on the DBA to deploy those database changes in a separate process.

At the same time, DBAs can safeguard the integrity of their organization's data by implementing site rules in Db2 DevOps Experience. DBAs define whether a schema change can be approved automatically after all site rules are satisfied or whether it must be approved manually.

In this publication, we e provide an overview of the CI/CD pipeline architecture in the context of a sample application.

We also describe the steps that are relevant to the roles of the DevOps engineer who implements the enterprise CI/CD pipeline, the DBA who is responsible for database code changes in Db2 for z/OS and for defining site rules that ensure quality in production, and the application developer who changes the application code and communicates requirements for changes in the database schema.

Table of contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. Authors
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Chapter 1. Introduction
    1. 1.1 Stages of the software development lifecycle
    2. 1.2 Introduction to DevOps
  5. Chapter 2. Db2 database code changes in the CI/CD pipeline
    1. 2.1 Requirements and pain points with the current database code change process
    2. 2.2 Typical database-related change use cases
    3. 2.3 Introducing Db2 DevOps Experience for integrating database code changes in the enterprise CI/CD pipeline
  6. Chapter 3. Sample application overview
    1. 3.1 Introduction
    2. 3.2 About the GenApp application
      1. 3.2.1 Db2 resources for the GenApp application
  7. Chapter 4. Architectural overview
    1. 4.1 High-level architecture
      1. 4.1.1 Steps 1, 2, and 3: Cloning, editing, and committing
      2. 4.1.2 Step 4: Automating the process with Jenkins
      3. 4.1.3 Step 5: Building the artifacts
      4. 4.1.4 Step 6: Storing the build output in a central repository
      5. 4.1.5 Steps 7 and 8: Moving the build output to the deployment stage
      6. 4.1.6 Step 9: Deploying the DDL into Db2 for z/OS by way of DOE
      7. 4.1.7 Step 10: Deploying the load modules in CICS and binding the DBRM
  8. Chapter 5. Code repository organization
    1. 5.1 Code repository structure
      1. 5.1.1 Treat data object definitions as source code
      2. 5.1.2 Designing your code repository structure
      3. 5.1.3 Overall repository structure
      4. 5.1.4 Db2 schema structure
      5. 5.1.5 Application code structure
  9. Chapter 6. Delivering database and application changes at the same speed
    1. 6.1 Db2 DevOps Experience architecture
    2. 6.2 Db2 DevOps Experience interactions with Db2 for z/OS
      1. 6.2.1 Using the browser-based user interface (Unified Experience for z/OS)
      2. 6.2.2 Scripting the REST APIs
    3. 6.3 DOE terms and concepts
      1. 6.3.1 Subsystems
      2. 6.3.2 Environments
      3. 6.3.3 Teams
      4. 6.3.4 Applications
      5. 6.3.5 Objects
      6. 6.3.6 Instances
    4. 6.4 DOE roles and responsibilities
      1. 6.4.1 Super administrators
      2. 6.4.2 Team administrators
      3. 6.4.3 Team members
      4. 6.4.4 DOE roles and RACF definitions
    5. 6.5 Establishing the landscape of Db2 subsystems, environments, and teams
      1. 6.5.1 Registering Db2 subsystems
      2. 6.5.2 Creating environments
      3. 6.5.3 Creating teams
      4. 6.5.4 Managing team members
    6. 6.6 Establishing the policy for database provisioning and schema changes
      1. 6.6.1 Registering applications
      2. 6.6.2 Provisioning an application instance
    7. 6.7 Defining Db2 site rules
      1. 6.7.1 Simple site rules
      2. 6.7.2 Complex site rules
    8. 6.8 DOE setup for DevOps engineer
      1. 6.8.1 Mapping DOE definitions to GitHub and UCD
  10. Chapter 7. IBM UrbanCode Deploy
    1. 7.1 Introduction to IBM UrbanCode Deploy
    2. 7.2 Db2 DevOps Experience plug-in for UCD
      1. 7.2.1 DOE APIs used by the plug-in
      2. 7.2.2 Installing the DevOps Experience plug-in
      3. 7.2.3 Configuring UrbanCode Deploy
      4. 7.2.4 Creating roles and teams
      5. 7.2.5 Creating the component
      6. 7.2.6 Creating the component deployment process
      7. 7.2.7 Creating the resource
      8. 7.2.8 Creating the application
      9. 7.2.9 Associating the component with the application
      10. 7.2.10 Defining the process to install the component
      11. 7.2.11 Creating the environment for the application
      12. 7.2.12 Assigning the resources to the environment
      13. 7.2.13 Configuring notifications
  11. Chapter 8. Jenkins automation server
    1. 8.1 Introduction
    2. 8.2 Resources for installing and configuring Jenkins
    3. 8.3 GenApp pipeline stages overview
      1. 8.3.1 GenApp pipeline stages
      2. 8.3.2 Extending the pipeline with Db2 for z/OS schema changes
      3. 8.3.3 Db2:Deployment stage
  12. Chapter 9. Application development tools for z/OS
    1. 9.1 IBM Db2 for z/OS Developer Extension introduction
    2. 9.2 IBM Z Open Editor introduction
    3. 9.3 Installing Visual Studio Code
      1. 9.3.1 Installing Visual Studio Code extensions
    4. 9.4 Setting up a code repository in your development environment
      1. 9.4.1 Installing Git
      2. 9.4.2 Connecting to the code repository with SSH
      3. 9.4.3 Cloning the code repository
    5. 9.5 Data modeling consideration
  13. Chapter 10. Application change execution and demonstration documentation
    1. 10.1 GenApp application data structure
    2. 10.2 Use case
  14. Chapter 11. Summary
    1. 11.1 Overview
    2. 11.2 Real example of pain points managing database changes
  15. Appendix A. Additional material
    1. Locating the GitHub material
    2. Cloning the GitHub material
  16. Related publications
    1. Online resources
    2. Help from IBM
  17. Back cover

Product information

  • Title: Integrating Db2 for z/OS Database Changes Into a CI/CD Pipeline
  • Author(s): Maryela Weihrauch, Frank van der Wal, Rafael Toshio Saizaki, Kendrick Ren, Eric Radzinski, Hendrik Mynhard, Benedict Holste, Maria Sueli Almeida
  • Release date: September 2021
  • Publisher(s): IBM Redbooks
  • ISBN: 9780738459943