Organization Administration > General and security settings > Source control configuration
  

Source control configuration

You can configure source control for your organization to enable version management for projects, folders, and assets. When you configure source control, you can store versions of objects in a cloud-hosted or on-premises Git repository. Configure source control on the Settings page.
To use source control with Informatica Intelligent Cloud Services, you must have the appropriate licenses.
The following table lists the source control repositories that you can use:
Repository
Self-hosted
Cloud-hosted
Atlassian Bitbucket
Supported
Supported (see Note)
GitHub
Supported
Supported
GitLab
Supported
-
Microsoft Azure DevOps
-
Supported
Note: You can use cloud-hosted Bitbucket repositories for Data Integration assets.
When you configure source control for an organization, users can apply source control to objects. Objects are not checked in automatically. Users can apply source control to individual assets or to all assets in a project or folder. For more information about applying source control to projects, folders, and assets, see the help system for the appropriate Informatica Intelligent Cloud Services service.
When you configure source control, you configure the connection to a global source control repository for the organization. You can configure source control for your organization in the following ways:
Configure read/write access to the global source control repository.
When you configure read/write access, users in your organization can check in and check out objects, pull versions of objects, and revert objects to a previous version. Users must check out source-controlled objects to change them. Users check out objects exclusively, so one user cannot change an object that is checked out by another user. Users can change objects that are not source-controlled without checking them out.
You might want to configure read/write access for an organization in which you develop projects and assets.
Configure read-only access to the global source control repository.
When you configure read-only access, users in your organization can pull versions of source-controlled objects from the repository. However, users cannot check out or check in objects. Users can make changes to projects, folders, and assets in the organization without checking them out.
You might want to configure read-only access for a test or production organization so that users can test or run the latest versions of assets.
You can change the repository access type. However, to change from read/write to read-only, you must first ensure that no objects are checked out. Informatica Intelligent Cloud Services doesn't allow you to change the repository access type from read/write to read-only if any objects are checked out.
Warning: When you configure read-only access, users can overwrite source-controlled objects. For example, user John pulls the most recent version of a source-controlled mapping and changes it. If another user pulls any version of the mapping later, John's changes are lost. Configure object permissions and user privileges carefully to prevent users from accidentally overwriting source-controlled assets in your organization.
Enable project-level repositories
You can enable users to specify a branch in the global repository or a different repository for each project. Using different repository branches for your projects can enable parallel development and collaboration across teams in the organization.
You can change the repository URL. To do this, you must first unlink all source-controlled assets. Informatica Intelligent Cloud Services doesn't allow you to change the repository URL if any assets are source-controlled.
If you want to disable source control after you configure it, unlink all objects from source control and then disable source control for the organization.
You can unlink an object that's checked out by another user if you have the admin role or a user role with the Force Undo Checkout privilege.

Source control configuration for sub-organizations

Configure source control for a sub-organization on the Settings page in the sub-organization. As a best practice, each sub-organization should use its own source control repository. Additionally, the source control repository for a sub-organization should be different than the source control repository for the parent organization.
Maintain different source control repositories so that users in one organization do not accidentally overwrite or change assets in another organization.
If you want the parent organization administrator to be able to perform source control operations in the sub-organization, configure the Git user account for the parent organization administrator to have access to the sub-organization's source control repository.

Repository access using OAuth

If your source control repository is cloud-hosted, you can configure an organization to use OAuth authentication instead of personal access tokens to provide access to the repository. Configure OAuth authentication on the Settings page.
If you use a GitHub repository, you must have a GitHub access application installed on your repository that allows Informatica Intelligent Cloud Services to perform source control operations on the organization's GitHub repository. If you don't have this application installed on your repository, you can install it from the Settings page.

Working with an on-premises repository

If your source control repository is on-premises, the Secure Agent creates a local copy of the repository on the Secure Agent machine. The Secure Agent performs source control operations in the local repository and then pushes them to the remote repository.
When you use an on-premises repository, ensure that the Secure Agent machine has enough space for the local copy of the repository and for all subsequent version control operations.
The Secure Agent creates the local repository the first time that a user performs a source control operation, such as checking in an asset. When it creates the local repository, it copies the branch that stores Informatica Intelligent Cloud Services assets. It does not copy other branches. Each time a user performs a source control operation, the agent gets information about the changes from the remote repository to support the operation.
By default, the Secure Agent creates the local repository in the following directory on the Secure Agent machine:
<Secure Agent installation directory>/apps/GitRepoConnectApp/data/git_repository/<client URL>/<organization ID>/<branch>/<remote repository name>
You can change the local repository directory by editing the git_local_repository_path property for the GitRepoConnectApp service on the Secure Agent details page. For more information about changing the value of this property, see Secure Agent Services.

Enabling source control for an organization

To enable source control for an organization, configure the type of access and connection to the global source control repository on the Settings page. The settings that you configure vary based on the repository type.
    1On the Settings page in Administrator, click Edit in the Source Control area.
    2Enable the Enable Source Control option.
    3Optionally, enable the Enable Project Level Source Control option.
    When this option is enabled, users can specify a branch in the global repository or a different repository to use at the project level.
    4 Configure the type of access to the source control repository:
    5To configure access to a cloud-hosted repository, enter the following information:
    Option
    Description
    Platform
    Platform type. Select Cloud.
    Repository Type
    Version control system that you use for the organization. You can use one of the following cloud-hosted systems:
    • - GitHub
    • - Microsoft Azure DevOps
    • - Atlassian Bitbucket (for Data Integration)
    Global Git Repository URL
    Repository URL. For example:
    https://github.com/MyGitUser/MyRepositoryName.git
    The repository URL must use the HTTPS protocol.
    Tip: You can find the repository URL by selecting the clone option in the repository.
    Global Git Branch Name
    Name of the branch that stores the Informatica Intelligent Cloud Services objects. The branch that you specify must already exist in the repository.
    If you do not enter a branch name, Informatica Intelligent Cloud Services sets the branch name to "master" or "main," based on the name of the default branch in the remote repository.
    Allow OAuth access to Git
    Enable this option to use OAuth to access the repository.
    If you use a GitHub repository, a Git access application that authorizes Informatica Intelligent Cloud Services access must be installed on the organization's repository. To install the application, click Install Git Access App at GitHub.
    6To configure access to an on-premises repository, enter the following information:
    Option
    Description
    Platform
    Platform type. Select On-Premise.
    Git Repository URL
    Repository URL. For example:
    https://gitlab.example.com/MyGitUser/MyRepositoryName.git
    The repository URL must use the HTTPS protocol.
    Tip: You can find the repository URL by selecting the clone option in the repository.
    Git Branch Name
    Name of the branch that stores the Informatica Intelligent Cloud Services objects. The branch that you specify must already exist in the repository.
    If you do not enter a branch name, Informatica Intelligent Cloud Services sets the branch name to "master" or "main," based on the name of the default branch in the remote repository.
    Runtime Environment
    Runtime environment used to connect to the Git repository.
    The repository must be accessible by all agents in the runtime environment that you select.
    You cannot configure OAuth access to an on-premises repository.
    7Click Save.
    Informatica Intelligent Cloud Services prompts you for your source control credentials to verify the repository connection. Informatica Intelligent Cloud Services does not store this information.
    If the connection is valid and you configure read/write access to the repository, Informatica Intelligent Cloud Services writes a small readme file to the repository to verify that it can push objects to the repository.
After you enable source control, all users that use source control must enter their source control credentials in their user settings. Users cannot see source control columns on the Explore page or perform source control actions until they enter their source control credentials. To enter source control credentials, click the User icon in the top right corner of the Informatica Intelligent Cloud Services window, and select Settings.

Changing the source control repository URL

To change the source control repository URL, you must first unlink all objects in the organization and then enter the new repository URL on the Settings page in Administrator. After you change the URL, all users that use source control must update their source control credentials in the user settings.
    1In each Informatica Intelligent Cloud Services service that uses the repository, unlink all objects from source control.
    2In Administrator, open the Settings page and click Edit in the Source Control area.
    3Verify that the Enable Source Control option is enabled.
    4Configure the type of access to the source control repository:
    5Verify the platform and name of the branch that stores the Informatica Intelligent Cloud Services objects. For a cloud-hosted repository, verify the OAuth access setting, as well.
    6 Enter the new repository URL, for example:
    https://github.com/MyGitUser/MyRepositoryName.git
    Tip: You can find the repository URL in the following ways based on the repository type:
    Repository
    How to find URL
    Atlassian Bitbucket (self- hosted and cloud-hosted)
    Open the repository and select Clone.
    GitHub (cloud-hosted)
    Open the repository and select Clone or download > Clone with HTTPS.
    GitHub Enterprise (self-hosted)
    Open the repository and select Code > Clone with HTTPS.
    GitLab Self-Managed
    Open the repository and select Clone > Clone with HTTPS.
    Microsoft Azure DevOps (cloud-hosted)
    Open the repository and select Clone.
    The repository URL must use the HTTPS protocol.
    7Click Save.
    Informatica Intelligent Cloud Services prompts you for your source control credentials to verify the repository connection. Informatica Intelligent Cloud Services does not store this information.
    If the connection is valid and you configure read/write access to the repository, Informatica Intelligent Cloud Services writes a small readme file to the repository to verify that it can push objects to the repository.
After you change the source control repository URL, all users that use source control must update their source control credentials in the user settings. To update source control credentials, click the User icon in the top right corner of the Informatica Intelligent Cloud Services window, and select Settings.

Disabling source control for an organization

You can disable source control for an organization. Disabling source control breaks the link between your organization and the source control repository. It does not delete objects in the source control repository.
Before you can disable source control for a read-write organization, all assets must be unlinked.
    1In each Informatica Intelligent Cloud Services service that uses the repository, unlink all objects from source control.
    2In Administrator, disable source control:
    1. aIn Administrator, open the Settings page.
    2. bClick Edit in the Source Control area.
    3. cDisable the Enable Source Control option.
    4. dClick Save.
    3Optionally, have users in the organization delete their source control credentials in their user settings:
    1. aIn the top right corner of the Informatica Intelligent Cloud Services window, click the User icon and select Settings.
    2. bClear the source control credentials.
    3. cClick Save.

Configuring repository access

To work with source controlled objects, specify your repository credentials in Informatica Intelligent Cloud Services.
Your credentials can include a personal access token or app password, depending on the repository service that you use.
If your administrator has configured the organization's repository for OAuth access, you can enable OAuth access instead of providing a personal access token or app password.
Personal access tokens and app passwords must be configured to enable full control of private repositories. For information about generating personal access tokens, see the GitHub or Azure DevOps Git help. For information about generating app passwords, see the Bitbucket help.
In Informatica Intelligent Cloud Services, perform the following steps to configure access to the repository:
    1Click the User icon in the top right corner of the Informatica Intelligent Cloud Services window and then select Settings.
    2Perform one of the following tasks:
    3Click Save.