Relevant Versions: Mission Control 3.X
This article explains how to use Mission Control integration with VCS providers to externalize and pull Mission Control user configuration scripts. For the purposes of this discussion, we will reference Git as our VCS provider provider and GitHub as our cloud-based hosting service.
As Mission Control supports the Git protocol and permits integration with VCS systems, this functionality allows you to manage version sharing and collaboration when developing Mission Control configuration scripts in mainstream Source Control platforms such as GitHub or Bitbucket.
When working with a Git server you’ll need to identify yourself to it through one of two ways:
Connecting to the Git server with credentials
Connecting to the Git server via SSH keys
For SSH authentication with GitHub: SSH keys come in pairs – a public key that gets shared with the service and a private key that is stored only on your computer. If the keys match, you can access the account. The cryptography behind SSH keys ensures that no one can reverse engineer your private key from the public one.
To create an SSH connection between your GitHub user and Mission Control, follow these step-by-step instructions:
1. Use the following command to create the keys and add your email address:
$ ssh-keygen -t rsa -b 4096 -C "email@example.com"
If you are using the Docker installation of Mission Control, you’ll need to log into the <jfmc_docker_container> and generate SSH keys using the command above.
2. Enter the filename to save the key files to the default directory (users/<user>/.ssh/id_rsa):
Note: To execute Mission Control/Git integration, the SSH must be saved in your .ssh/ folder.
3. As seen in the following screenshot, click on the Settings button in your GitHub profile:
4. As seen in the following screenshot, click on New SSH key:
5. As seen in the following screenshot, add your id_rsa.pub input into the Key field and include a Title:
6. In Mission Control, under the Version Control tab, enable Git integration by adding the GitHub SSH URL, which will look similar to the following example:
7. After clicking the Ok button, add the master branch as described HERE. Note: You may only work with the master branch and it must exist before being configured in Mission Control (as seen in the following screenshot):
Note: If you created Mission Control scripts before executing the Git integration, those scripts will not push to the VCS server. On the other hand, once you have enabled Git integration, any new Mission Control scripts you create will be created (and subsequently updated) in the VCS server, too.