Skip to content

IBM/continuous-delivery-tools

Repository files navigation

Continuous Delivery tools

Provides tools to work with IBM Cloud Continuous Delivery resources, including Toolchains, Delivery Pipelines, and Git Repos and Issue Tracking projects.

Supported resources

Resource Supported
Toolchains Yes 1
Git Repos and Issue Tracking projects Yes 2
Delivery Pipelines (Tekton) Yes 1 3
Delivery Pipelines (Classic) No
DevOps Insights No
Other Tool Integrations Yes

Limitations

  1. Secrets stored directly in Toolchains or Delivery Pipelines (environment properties or trigger properties) will not be copied. A check-secrets tool is provided to export secrets into a Secrets Manager instance, replacing the stored secrets with secret references. Secret references are supported in the migration.
  2. Personal Access Tokens will not be copied.
  3. Pipeline run history, logs, and assets will not be copied to the new region. You can keep the original pipelines for some time to retain history.
  4. Classic pipelines are not supported.
  5. DevOps Insights is not supported.

Prerequisites

  • Node.js v20 (or later)
  • Terraform v1.13.3 (or later)
  • Terraformer v0.8.30 (or later)
  • An IBM Cloud API key with the following IAM access permissions:
    • Viewer for the source Toolchain(s) being copied
    • Editor for create new Toolchains in the target region
    • Administrator for other IBM Cloud service instances that have a tool integration with IAM service-to-service authorizations, such as Secrets Manager, Event Notifications, etc.
  • For Git Repos and Issue Tracking projects, Personal Access Tokens (PAT) for the source and destination regions are required, with the api scope.

Install

Install Node.js, Terraform, Terraformer

MacOS

brew install node
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
brew install terraformer

Other platfoms

Usage

The tools are provided as an npx command which automatically downloads and runs the module. To see the available commands, run npx @ibm-cloud/cd-tools on your command line.

$ npx @ibm-cloud/cd-tools
Usage: npx @ibm-cloud/cd-tools [options] [command]

Tools for migrating Toolchains, Delivery Pipelines, and Git Repos and Issue Tracking projects.

Options:
  -V, --version                 output the version number
  -h, --help                    display help for command

Commands:
  copy-project-group [options]  Bulk migrate GitLab group projects
  check-secrets [options]       Checks if you have any stored secrets in your toolchain or pipelines
  copy-toolchain [options]      Copies a toolchain, including tool integrations and Tekton pipelines, to another region or resource group.
  help [command]                display help for command

About

Tools and utilities for the IBM Cloud Continuous Delivery service and resources

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 8