Connect a code repository

Edit on GitHub

This document describes how to connect a code repository to Spryker Cloud Commerce OS.

Initial setup

If you specified a code repository in the Onboarding Questionnaire, we connected it to your Staging environment during the initial setup. To connect a code repository to another environment, follow this document.

Note that we are only supporting the Cloud variants of the repositories listed below. To connect the On-Premises repository, check the documentation of your git repository provider about mirroring the repository to one of the following providers.

Spryker Cloud Commerce OS supports the following version control systems:

Spryker Cloud also offers support for all the Git repositories that support AWS CodeCommit push mirroring. Similar to the GitLab setup, you can configure all the commits from your version control system to be mirrored to Spryker Cloud and consumed by our pipelines to build and deploy your system.

We recommend mapping your branches to environments as follows:

Environment Branch
Production master
Staging dev
Test test

Connect a GitHub code repository

  1. Configure a GitHub code repository.
  2. On the support portal in the Infrastructure Change Request category, create a Change to existing Parameter Store Variable case and provide the following details:
  • URL
  • Branch
  1. Provide the Access token by following Share a secret.

We connect the code repository shortly after you provide the details.

Connect a Bitbucket code repository

Currently, only GitHub is integrated into AWS CodeBuild. To use a Bitbucket code repository, configure AWS CodeStar by following the steps below.

Prerequisites

Ensure that your BitBucket account has Admin permissions in the code repository.

AWS CodeStar integrates via OAuth 2.0 and requires the following permissions:

  • Read your account information.

  • Read your repositories and their pull requests.

  • Administer your repositories.

  • Read and modify your repositories.

Retrieve a connection ARN

To get an Amazon Resource Name (ARN) of a connection, create a CodeBuild Connection:

  1. In the AWS Management Platform, go to Services > CodeBuild > Settings > Connections.
  2. Select Create connection.
  3. In the Create a connection pane, select BitBucket.
  4. Enter Connection name.

create a connection

  1. Select Connect to Bitbucket.

  2. Select Grant access.

grant access highlighted

  1. Select Install a new app.

install a new app

  1. Select Grant access.

grant access

  1. In the Connect to Bitbucket pane, select Connect.

connect repository

The page refreshes with all the fields cleared.

  1. Select Connections.

In the Connections pane, you can see the created connection and its ARN.

connections

  1. Provide the connection ARN via support.

We connect the repository shortly after you provide the details.

Connect a GitLab code repository

Currently, CodePipeline doesn’t have a native integration of GitLab. To make it work, you can configure a CodeCommit repository as a mirror of a GitLab repository.

Pushing changes

To avoid synchronization issues, do not push any changes to the CodeCommit repository.

Prerequisites

Prepare for configuration:

  1. Ensure that your GitLab account has Admin permissions in the code repository.
  2. Request the following details via support:
    • CodeCommit repository URL
    • Username and password for HTTPS authorization in CodeCommit repository

GitLab mirroring

To configure GitLab mirroring:

  1. In the GitLab account, go to the code repository.
  2. Select Settings > Repository.
  3. Select Expand next to Mirroring repositories.

GitLab navigation

  1. In Git repository URL, enter the CodeCommit repository URL provided by support.
  2. For Mirror direction, select Push.
  3. For Authentication method, select Password.
  4. Enter a Password.
  5. Select Mirror repository.

CodeCommit repository details

Allow the synchronization several minutes to complete and you should see the record of your mirrored repository.

mirrored repository entry

Next step

Deployment pipelines