Start synchronization

When using a file-based Git repository, both instances of the Synchronizer, one for the development Management Console and the other for the production Management Console, require direct access to the file system where the repository is located.

We recommend that you run both instances of the Synchronizer on the same computer where the repository is stored (1). With this setup, the Promotion Manager can use one of the supported Git protocol standards (2) to access the repository and push changes to production.



Recommendation 1: When synchronizing with a bare file-based repository, multiple Synchronizers can run on the same computer.

Recommendation 2: For convenience, the Promotion Manager can use a third-party Git client such as SourceTree instead of Git commands.

Recommendation 3: If Docker is used for deployment, the Synchronizer containers can share a volume.

Start the Synchronizers

To connect the two Management Consoles and the Git repository, follow these steps.

  1. Point the development Synchronizer to the development Management Console by configuring the following properties in the synchronizer.settings file.

    In the Command Prompt window, first specify the -c property for the synchronizer.exe file to ignore the default synchronizer.settings file. Then specify the other properties that you require.

    Example

    Synchronizer.exe -c --mc-url http://127.0.0.1:8080/ManagementConsole --username admin --password pass --interval 10 --no-host-key false --private-key $USER_HOME\.ssh\id_rsa -s

    • -c,--command-line Uses settings specified in the command-line and ignores the settings file.

    • -e,--environment Uses settings from the environment and ignores the settings file.

    • -g,--generate-ssh-keys <argument> Generates a key-pair for SSH authentication and saves it to the specified folder. For example: -g C:\Work\MyKeys

    • --mc_url <argument> Required. URL to connect to the development or "production" Management Console containing the protocol and a port number. Only used when -c is specified.

    • --username <argument> Required. Management Console user. Only used when -c is specified.

    • --password <argument> Required. Password for the Management Console user. Only used when -c is specified.

    • --interval <argument> Required. Interval in seconds between synchronization runs. If set to a value equal to or less than 0 or a non-numeric value, the Synchronizer runs once and exits. Only used when -c is specified.

    • --no-host-key <argument> Optional. Disables strict SSH host-key checking. Default is false. Only used when -c is specified.

    • --private-key <argument> Required. Path to a file containing the private SSH key to connect to a remote repository. When connecting to a local repository, this attribute is ignored, but any value must be specified. Only used when -c is specified.
    • -r,--reset-hard Resets the version information and purges the entire local cache.

    • -s,--save Saves the configuration settings in the synchronizer.settings file and exits.

    • -v,--version Prints version information and exits.

    • -h,--help Prints the description of properties and exits.

  2. Repeat the previous step for the production Synchronizer and the production Management Console and change the properties as applicable.

You have now synchronized the Management Consoles and the Git repository and are ready to promote objects to production.