Integrating your MettleCI Workbench with Azure DevOps will enable you
...
to use an Azure DevOps Git repository to store your DataStage project artefacts
...
Link every DataStage Git commit to one or more Azure DevOps work items directly within the Workbench user interface, and
...
Use the MettleCI build and deployment toolkit to define Azure DevOps Continuous Integration and Deployment pipelines
...
.
...
...
Granting Azure DevOps Git repository access to Workbench
Log onto the server hosting MettleCI Workbench and navigate to
/opt/dm/mci/
Open the public Git SSH key
workbench
...
.key.pub
in your favourite text edit and copy its contents:
...
...
Note that this file is automatically generated and configured during MettleCI workbench installation purely as a convenience to you. It is not obligatory that you use this file. Feel free to use your preferred SSH key for the following steps.
Next we’ll add the public key to Azure DevOps Services/TFS. Open your security settings by browsing to the web portal and selecting your avatar in the upper right of the user interface. Select Security in the menu that appears.
...
Select SSH public keys, and then select + New Key.
...
Copy the contents of the public key (for example,
...
If you are starting Workbench for the first time, you will be taken through a setup wizard. You can configure your Azure work item lookup in the setup wizard.
Alternatively, log into your MettleCI Workbench server an open /opt/dm/mci/config.yml
in your favorite editor and follow the next two steps.
...
workbench.key.pub
) that you generated into the Public Key Data field.Important: Avoid adding whitespace or new lines into the Key Data field, as they can cause Azure DevOps Services to use an invalid public key. When pasting in the key, a newline often is added at the end. Be sure to remove this newline if it occurs.
Give the key a useful description (this description will be displayed on the SSH public keys page for your profile) so that you can remember it later. Select Save to store the public key. Once saved, you cannot change the key. You can delete the key or create a new entry for another key. There are no restrictions on how many keys you can add to your user profile.
Register Workbench as an OAuth 2.0 Azure Application
Prerequisite
In order for MettleCI Workbench and Azure DevOps to communicate, work bench needs to be accessible using an HTTPS based URL. This URL does not have to be accessible outside your corporate network.
Please refer to the MettleCI FAQ for configuring Workbench to use HTTPS
...
Follow Microsoft’s instructions for registering a new app with Azure. Use the following settings:
...
...
Note down the “Application (client) ID” and Directory (tenant) ID for later use:
...
...
Navigate to the “Authentication” section of your application registration and add a Redirect URI for workbench using the https://<workbench url>:8443/api/auth/delegated/azure_access
and click save
...
If your organization has installed multiple MettleCI Workbench application, you can add them all to the same Azure App Registration by adding multiple Redirect URIs.
...
Navigate to the “Certificates & Secrets” section of your application registration and add a “New Client Secret”, select an expiry (Never is convenient) and note down the generated secret for later use:
...
...
Navigate to the “API permissions” section of your application registration, click “Add a permission” and select “Azure DevOps” → “user_impersonatation”:
...
Ensure that on your local system (to which you will clone the repository) your have added the associated private key to the list maintained by
ssh-agent
:Code Block language
...
Azure Work Items will now be available from the the Issues drop down during Check-in:
...
bash
...
issueManagement: azure
azure:
tenant: <your Directory (tenant) ID>
clientId: <your Application (client) ID>
clientSecret: "<your client secret>"
...
Restart the workbench service
Code Block | ||
---|---|---|
| ||
sudo service dm-mettleci-workbench restart |
$> ssh-add ~/.ssh/dev.azure.com-mettleci Identity added: /Users/username/.ssh/dev.azure.com-mettleci (username@MyMacbook)
Done!