Cloud Manager Repositories cloud-manager-repos

Learn how to create, view, and delete your git repositories in Cloud Manager.

NOTE
There is a limit of 300 repositories across all programs in any given company or IMS organization.

Adding and Managing Repositories add-manage-repos

Follow these steps view and manage repositories in Cloud Manager.

  1. Log into Cloud Manager at my.cloudmanager.adobe.com and select the appropriate organization and program.

  2. From the Program Overview page, select the Repositories tab to switch to the Repositories page.

  3. Click Add Repository.

    Add repository button

  4. Enter the name and description as requested and click Save.

    Add Repository dialog

When the wizard closes, your new repository is displayed in the table.

You can select the repository in the table and click the ellipsis button and select Copy Repository URL, View & Update, or Delete.

Repository options

Repositories created in Cloud Manager will also be available for you to select when adding or editing pipelines. See CI-CD Pipelines to learn more.

There is a single primary repository or a branch for any given pipeline. With git submodule support, many secondary branches can be included at build time.

NOTE
A user must have the role Deployment Manager or Business Owner to be able to add a repository.

Deleting a Repository delete-repo

Deleting a repository will:

  • Make the deleted repository name unusable for new repositories that may be created in the future.
    • The error message Repository name should be unique within organization. is shown in such cases.
  • Make the deleted repository unavailable in Cloud Manager and unavailable for linking to a pipeline.

Follow these to delete a repository in Cloud Manager.

  1. From the Program Overview page, click the Repositories tab and navigate to the Repositories page.

  2. Select the repository and click the ellipsis button and select Delete to delete the repository.

Git Submodule Support git-submodule-support

Git submodules can be used to merge the content of multiple branches across git repositories at build time.

When Cloud Manager’s build process executes, after the repository configured for the pipeline is cloned and the configured branch is checked out, if the branch contains a .gitmodules file in the root directory, the command is executed.

The following command will check out each submodule into the appropriate directory.

$ git submodule update --init

This technique is a potential alternative to the solution described in the document Working with Multiple Source Git Repositories for organizations which are comfortable with using git submodules and do not want to manage an external merging process.

For example, let’s say there are three repositories, each containing a single branch named main. In the primary repository, that is, the one configured in the pipelines, the main branch has a pom.xml file declaring the projects contained in the other two repositories.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>customer.group.id</groupId>
    <artifactId>customer-reactor</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>project-a</module>
        <module>project-b</module>
    </modules>

</project>

You would then add submodules for the other two repositories.

$ git submodule add -b main https://git.cloudmanager.adobe.com/ProgramName/projectA/ project-a
$ git submodule add -b main https://git.cloudmanager.adobe.com/ProgramName/projectB/ project-b

This results in a .gitmodules file similar to the following.

[submodule "project-a"]
    path = project-a
    url = https://git.cloudmanager.adobe.com/ProgramName/projectA/
    branch = main
[submodule "project-b"]
    path = project-b
    url = https://git.cloudmanager.adobe.com/ProgramName/projectB/
    branch = main

More information on git submodules can be found in the Git Reference Manual.

Limitations and Recommendations limitations-recommendations

When using git submodules, be aware of the following limitations.

  • The git URL must be exactly in the syntax described in the previous section.
  • Only submodules at the root of the branch are supported.
  • For security reasons, do not embed credentials in git URLs.
  • Unless otherwise necessary, it is highly recommended to use shallow submodules.
    • To do this, run git config -f .gitmodules submodule.<submodule path>.shallow true for each submodule.
  • Git submodule references are stored to specific git commits. As a result, when changes to the submodule repository are made, the commit referenced must be updated.
    • For example, by using git submodule update --remote
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab