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
Table of Contents | ||
---|---|---|
|
.
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/
...
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”:
...
...
Log into your MettleCI Workbench server an open /opt/dm/mci/config.yml
in your favorite editor
...
Change the issueManagement
property to azure
, add an azure
section as shown below and replace the <tags>
with the values noted in the previous steps:
Code Block | ||
---|---|---|
| ||
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 |
Azure Work Items will be available from the the Issues drop down during Check-in:
...
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,
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.
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 bash $> ssh-add ~/.ssh/dev.azure.com-mettleci Identity added: /Users/username/.ssh/dev.azure.com-mettleci (username@MyMacbook)
Done!