Plan limitations and usage
The use of IBM Cloud® Continuous Delivery is limited to the building, deploying, testing, and ongoing operations of applications on the IBM Cloud platform or other compatible platform-as-a-service (PaaS) or infrastructure-as-a-service (IaaS) products.
Scope of a service instance
You must have a Continuous Delivery service instance to create and use DevOps toolchains that include the Delivery Pipeline, Git Repos and Issue Tracking, and DevOps Insights tool integrations. A service instance resides in a region and belongs to a resource group. The Continuous Delivery service instance in a specific region and resource group governs and meters your usage of all of the toolchains in the same region and resource group.
Pricing plans
The following table outlines the pricing plans of Continuous Delivery:
Plan | Cost | Limits |
---|---|---|
Lite | Free | The Lite plan offers the full capabilities of Continuous Delivery with limits on usage. |
Professional | Paid | The Professional plan offers the full capabilities of Continuous Delivery with no limits on usage. |
You can have at most one Lite service instance per account. It is recommended that you use the Professional plan if you want to work with toolchains in multiple resource groups or within multiple regions.
For more information, see pricing plans.
Usage metrics
Continuous Delivery service instances track and report usage metrics within your IBM Cloud account. Depending on the pricing plan of a service instance, the metrics might affect usage cost, usage limits, or both. The following table outlines the usage metrics of Continuous Delivery:
Usage | Metric | Summary |
---|---|---|
Authorized users | AUTHORIZED_USERS_PER_MONTH |
A count of the average number of authorized users of the service instance within a given month. |
Pipeline runs | JOB_EXECUTIONS_PER_MONTH |
A count of the total number of pipeline Tekton step or classic job runs within a given month. |
Consolidated billing
By default, Continuous Delivery service instances report usage independently of each other. If you have organized your toolchains into multiple resource groups in a stand-alone account or across several accounts in an enterprise, users of your toolchains might be reported as authorized users multiple times from corresponding multiple instances of the Continuous Delivery service.
For example, a developer on a Git Repos and Issue Tracking project that is integrated into two toolchains in different resource groups will be counted and, under the Professional plan, billed for twice.
Consolidated billing is disabled by default. However, you can enable consolidated billing of a Continuous Delivery service instance with the Professional plan in an enterprise account, which results in the consolidation of authorized users from all service instances in your enterprise hierarchy, within a region, to one list. By doing so, you can ensure that authorized users' email are counted and billed for only once within your enterprise and region.
The consolidated billing feature is available with the Continuous Delivery Professional plan only. Consolidation occurs only within the region containing the Continuous Delivery service instance that has the consolidated billing feature enabled.
Enabling consolidated billing
To enable consolidated billing, you must have an instance of Continuous Delivery with the Professional plan in an enterprise account, and you must have access to the instance with the Editor or Administrator role.
To enable consolidated billing, complete the following steps:
- In the IBM Cloud console, select the enterprise account for which you want to consolidate billing from the account drop-down menu in the console menu bar.
- Click the Navigation Menu > Resource list.
- Enter
Continuous Delivery
to filter the list to your existing instances. - Click the name of the instance to which you want to consolidate billing.
- Click Manage > Consolidated billing.
- Click On in the Enable consolidated billing section.
- Review the list of email addresses to ensure it is complete and correct in the Consolidated authorized users section.
Consolidated billing details are available only in Continuous Delivery service instances with the Professional plan located in the enterprise account (the top most account in the enterprise hierarchy).
If you change the plan of a Continuous Delivery instance that has consolidated billing enabled from Professional to another plan, consolidated billing is disabled automatically. To re-enable consolidated billing, you must first change the plan back to Professional.
Disabling consolidated billing
- Follow steps 1 through 7 in the previous section.
- Click Off in the Enable consolidated billing section.
How does consolidated billing work?
By default, a count of authorized users is reported for each Continuous Delivery instance. When consolidated billing is enabled on an instance in the enterprise account, the number of authorized users is reported by that instance on behalf of all instances in the same region and enterprise hierarchy, including those in all child accounts and any other instances in other resource groups in the enterprise account.
A list of authorized users from all instances in the region and account hierarchy is compiled. In addition, duplicate email addressed are removed, and a count of the resulting consolidated list of authorized user email addresses is reported at the enterprise account level.
To review the consolidated list of authorized user email addresses:
- From your resource list, enter
Continuous Delivery
to filter the list to your instances. - Click the name of the instance in which consolidated billing is enabled.
- Click Manage > Consolidated billing.
- Review the list of email addresses in the Consolidated authorized users section. The list read-only, because it is generated from the authorized users lists of all service instances in the enterprise hierarchy.
When consolidated billing is enabled for a service instance, the Manage > Authorized users tabs for all other instances in the enterprise hierarchy include details to explain that consolidated billing applies to those instances.
Limitations of consolidated billing
- An enterprise account hierarchy is required. You can't enable consolidated billing across resource groups in a stand-alone account.
- The Professional plan is required.
- You can't enable consolidated billing for a Continuous Delivery instance with any other plan.
- Authorized users are consolidated only from Continuous Delivery instances with the Professional plan. In other words, instances with Lite plans do not participate in consolidated billing.
- You can enable consolidated billing only for a service instance in the enterprise account. And, you can enable it for at most one instance in the enterprise account.
- Consolidated billing applies to authorized users only. It does not affect how pipeline runs are reported.
- Consolidated billing is confined to a single given region. Usage cannot be consolidated from one region to another.
- Even though you might enable consolidated billing for a specific instance, zero authorized users are reported for all other Professional plan instances of the service in the enterprise hierarchy, even though the authorized users of those instances are still listed.
When you delete an instance in an enterprise account in which consolidated billing is enabled, billing for that instance stops. Other instances of the service in the enterprise and region resume normal billing. Consolidated billing is not automatically reactivated when a deleted service instance is restored during reclamation. To re-enable consolidated billing for a restored instance, go to Manage > Consolidated billing from your restored Continuous Delivery instance tab.
Viewing billing and usage details
You can view billing and usage details for the Continuous Delivery instances in your account, plus the number of users and pipeline executions that are reported against each instance in an IBM Cloud public environment.
- From the console menu bar, click Manage > Billing and usage, and then click Usage.
- From the list of services, click View plans for the Continuous Delivery instance.
- Click View details to view specific plan details for the instance.
- Click View instance details view usage information for the instance.
The AUTHORIZED_USERS_PER_MONTH metric is calculated based on a monthly average of users that is counted daily. If consolidated billing is enabled, the instance in the enabled account reports a consolidated AUTHORIZED_USERS_PER_MONTH
metric. All other instances in the enterprise hierarchy report zero.
What happens when you exceed the limits of your service plan?
The Lite service plan includes certain limitations, such as limitations on the number of authorized users of the service and on the number of Classic Delivery Pipeline jobs or Tekton steps that can run per month. If any of the plan limitations are exceeded in a billing period, the service is suspended. For example, Classic Delivery Pipeline jobs and Tekton pipeline steps do not run for the remainder of the billing period. For more information about the plan, see the Continuous Delivery details in the catalog {: external}.
You avoid the limitations of the Lite service plan and reactivate your instance by upgrading to the Professional plan as described in the following sections.
Upgrading your service plan in the UI
- From your resource list, click the Continuous Delivery instance with the Lite service plan to upgrade.
- Click Plan on the instance dashboard.
- In the Change pricing plan section, select Professional , and click Save.
After you upgrade the plan, you must restage your app:
- Go to your resource list and locate the app that the service is bound to.
- Open the Actions menu, and select Restart App.
Upgrading your service plan in the CLI
-
Check whether the service is enabled with the resource controller.
ibmcloud catalog service continuous-delivery
If the service is enabled with the resource controller, it lists
RC Compatible true
. Make note of the ID of the plan that you want to upgrade to.ID 59b735ee-5938-4ebd-a6b2-541aef2d1f68 Name continuous-delivery Kind service Provider IBM Tags dev_ops, eu_access, gc_migrate, ibm_created, lite, rc_compatible Active true Description Support DevOps best practices by using Git, issue tracking, and CI/CD pipelines in the Cloud. Bindable false Original Name continuous-delivery RC Compatible true RC Provisionable true IAM Compatible true Children Name Kind ID lite plan a35fb0e9-4fc2-400e-8161-49078e5af632 professional plan 9ca4dc64-bc7b-4aba-9c1c-8bbf30ff127e
-
Upgrade the plan for your instance by using the
ibmcloud resource service-instance-update
command.ibmcloud resource service-instance-update <service_instance_name> --service-plan-id <plan_id>
Delivery pipeline usage
Review the following limitations for delivery pipelines included in a Lite service plan:
- The 500-step and job run limit includes both pipeline steps for Tekton pipelines and pipeline job runs for Classic pipelines. If your pipeline has multiple steps within a single run, such as with the DevSecOps pipelines, you might reach this limit quickly.
- Delivery pipeline failures, excluding skipped step runs and Classic job runs, are counted as part of the 500 Tekton step run limit per month. This 500-step run limit also applies to Classic job runs for Classic pipelines.
- All of your toolchains, and the pipelines within those toolchains, in a single resource group contribute to the same limit of 500 Tekton step runs per month. The same limitation is used, because pipeline step runs and job runs are counted at the resource group level for a specific Continuous Delivery instance.
A five-day grace period is offered only once for the first time that you reach the 500-step run limit.
The retention period for pipelines varies based on the pipeline type and the plan that is selected for the Continuous Delivery instance.
- Classic pipelines retain a maximum of 10 stage runs on either plan.
- Tekton pipelines under the Professional plan retain PipelineRuns and their logs for one year.
- Tekton pipelines under the Lite plan retain PipelineRuns and their logs for 30 days.
The acceptable usage behaviors include, but are not limited to, the following behaviors:
- The compilation and assembly of artifacts for supported programming languages.
- The automated deployment of application artifacts, configurations, and supporting resources or services.
- Testing, validation, and other development event-generated behavior that is triggered as the result of a development process.
The usage behaviors that are not permitted include, but are not limited to, the following behaviors:
- The use of pipeline jobs or workers for general compute behaviors, such as Bitcoin mining, distributed denial-of-service attacks, and malicious or offensive behavior to other clients or users within the IBM Cloud platform or general internet users.
- The use in the normal development process for sites or services that promote hate speech, or other activities that violate the IBM Business Conduct Guidelines.
- The use of event-generated behavior for malicious intrusion or attacks against IBM Cloud or other sites.
Users who violate the acceptable usage behaviors of the Continuous Delivery services or the IBM Business Conduct Guidelines can be disabled at the discretion of IBM and without notice. Some services can be restored if users correct their usage behaviors after they are notified of the offensive action. Otherwise, accounts can be suspended or terminated.
Git repos and issue tracking limitations
Git Repos and Issue Tracking is built on GitLab Community Edition and hosted on IBM Cloud, however, a few GitLab options are not available:
- Because Delivery Pipeline provides continuous integration and continuous delivery for IBM Cloud, the continuous integration features in GitLab are not supported.
- GitLab admin functions are not available because they are managed by IBM.
- Git Repos and Issue Tracking might not be fully accessible.
Git repos and issue tracking user information and content
Three types of Git Repos and Issue Tracking projects are available:
- Public projects are visible to all site visitors. The content in a public project is visible to everyone who accesses Continuous Delivery even if they are not invited to the project.
- Private projects are visible to select users only. For more information about granting users access to a project, see Project members.
- Internal projects are visible to all logged-in users. Any user who has an IBM Cloud account can view these projects.
For more information about the project settings, see Change project visibility.
When you use Git Repos and Issue Tracking, the content that you contribute to a project is licensed under any terms that are specified in that project. When you create a project, include a file that describes the license that applies to the content. When you contribute to a project, your name and the email address that is associated with your commits might be visible to the public. The email address that is associated with your IBM Cloud account is used when you create commits through the Git Repos and Issue Tracking web interface.
Linking an instance to a Git Project
Git projects must be linked to a Continuous Delivery instance that uses a toolchain, because Git Repos and Issue Tracking are a component of the service. Adding your project to a toolchain makes it easier to use other tools, such as Continuous Delivery Pipelines or DevOps Insights. As a result, it streamlines your development workflows and improves your code quality.
You can use the console or an API to link your instance and toolchain instance to a Git project.
Linking Continuous Delivery and toolchain instances in the UI
Linking a new project
You're required to use the UI to link Continuous Delivery and toolchain instances when you create a new project.
Linking an existing project
- Go to Projects > General > Settings.
- Select the project that you want to add instances to.
- Go to Continuous Delivery > Expand to update or add a Continuous Delivery and toolchain instance.
Link Continuous Delivery and toolchain instances by using the API
You can link Continuous Delivery and toolchain instances when you're using the API to create a new project.
-
Use an optional header
IBM-CLOUD-API-KEY
to add Continuous Delivery and toolchains as you create a project. Generate the key value for your API key from the console login page. -
Add request parameters
toolchain_ID
andcd_instance
to link your Git project to a specific Continuous Delivery and toolchain instance.-
The
toolchain_id
parameter supersedes thecd_instance
parameter. If both are provided, the toolchain ID is used. However, if only thecd_instance
parameter is given, a default toolchain is automatically created for the specified CD instance.To successfully use these request parameters, you must use the
IBM-CLOUD-API-KEY
header.
-
Complete the following steps to find the IDs of your Continuous Delivery and toolchain instances:
-
In the console, click the Navigation Menu > Resource list.
-
From your list of resources, click the required toolchain or Continuous Delivery instance.
-
Click Details to view and copy the GUID and CRN details.
For
toolchain_ID
parameter, use the toolchain's GUID. Forcd_instance
parameter, use either GUID or CRN as its value.