Install Universal Messaging Server using Command Central CLI, Azure Devops & Microsoft Self-Hosted Agent (on Azure VMs)
Tags: microsoft, azure, tutorial
Published: 2021-10-01 13:06:48

---
title: Install Universal Messaging Server using Command Central CLI, Azure Devops & Microsoft Self-Hosted Agent (on Azure VMs)
published: true
date: 2021-02-08 13:56:39 UTC
tags: #microsoft, #azure, #tutorial
canonical_url: https://tech.forums.softwareag.com/t/install-universal-messaging-server-using-command-central-cli-azure-devops-microsoft-self-hosted-agent-on-azure-vms/238705/1
---

## Installation Steps

1. Create two virtual machines in Azure – one for the build Server and one is your target server where you wish the UM Server to be installed.  
 ![1](https://aws1.discourse-cdn.com/techcommunity/original/2X/b/bfa8eb2b1b8d48b0ba83a42b4cd587336afd36eb.png)

### Build Server
- Install Command Central and Platform Manager installed. Enable the Platform Manager & Command Central Ports in both Windows Firewall and Azure Network Security Group.
- System Requirements for Command Central can be found in the Installing Software AG Products documentation.
- Command Central & Platform Manager installer can be downloaded from Empower.
- It can be installed on the build server using the below command  
`<cceinstaller.exe> –-accept-license -d <installation folder> -c 8190 -C 8191 -s 8192 -S 8193 -p <password>`  
 ![2](https://aws1.discourse-cdn.com/techcommunity/original/2X/8/84ca4a1d5496cbc441cd3532991a9358f4894349.png)
- Recommendation is to have one build server for the Production environment and one for non-production environments.

### Target Server
- Install Platform Manager on the Target Server.
- Platform Manager can be installed via Command Central (Java8 is a prerequisite) or can be directly installed on the VM using the software, which can be downloaded from empower.
- Enable the Platform Manager & SSH Ports in both Windows Firewall and Azure Network Security Group.
- Platform Manager installer can be downloaded from Empower.
- It can be installed on the build server using the below command  
`<cceinstaller.exe> –-accept-license -d <installation folder> -D SPM -s 8192 -S 8193 -p <password>`

1. Log in to command central installed in the build server using the below URL  
`https://<ccehostname>:<cceport>/cce/web`.
2. Navigate to Installations and select “+” to add the target node in Command Central.
3. Provide the hostname of the target node and select” Platform Manager is already installed” if SPM is already installed or select “Install Platform Manager remotely” to install SPM.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/3/3efef0a804b232750a77244e8b5e8ca7ca3eb348.png) ![3](https://aws1.discourse-cdn.com/techcommunity/original/2X/4/43dd55ba870f9f4c675143aa10779fa3aaf5ad23.png)
4. Provide the Port number, username and password, alias, description and Installation type details.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/e/e9ffe6f7787931c86dff56ed2b05f68b19d42881.png) ![4](https://aws1.discourse-cdn.com/techcommunity/original/2X/1/157bc6440fa21a2efe31cedfee885b6fb2ee67f8.png)
5. Once the node is connected in Command Central, upload the desired UM Server YAML template in the templates section and also add the UM Server license key under Licensing->Keys tab  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/8/84713f111bc63fc965be4396a1d7555cfb5e4d54.png)
6. Upload or download the Product Image repository to Repositories->Products and fixes (if any) to Repositories->Fixes.  
 ![6](https://aws1.discourse-cdn.com/techcommunity/original/2X/a/a0e66e360168496e9d867ed1c499566e20735e45.png)
7. Once all the setup is complete in Command Central, proceed to Self-Hosted Agent Installation & Configuration
8. Log in to the Azure DevOps portal ([dev.azure.com](http://dev.azure.com)) and select Organization settings.
9. Navigate to Pipelines->Agent Pools->Default and select New Agent  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/e/e77a3cb7a98783e709a1b757b01b6120306d3f16.png)
10. The steps to set up the agent will appear as shown below.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/7/798b4dd9789537719327ea3918d8f0f29f3dc3c5.png)
11. Depending on the Build Server machine type, download the agent software in the build server.
12. For configuring the agent after downloading, please follow the steps provided in the below URL  
[How to create and configure AzureDevops Pipelines Agent](https://docs.devart.com/devops-automation-for-sql-server/walkthrough/create-configure-azuredevops-pipelines%20agent.html)  
Refer to the “Configuring a self–hosted agent” section
13. Additionally, one might need Personal Access Token (PAT) during agent configuration, which can be obtained from Azure DevOps Portal-> User Settings. Click on New Token and provide the desired permissions, scope and expiry date for the token.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/a/ae017b74eff99b89eeb2553162994794f6236a64.png) ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/d/d3b54622e5c9174817661e5a18acf046aa13a974.png)
14. Once the agent is installed, configured, and started, navigate back to Pipelines->Agent Pools->Default in the Azure DevOps Portal. The agent should be enabled and online.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/8/84a7335988d190a56f50ce80d1698c9f693af78b.png)
15. Navigate to [dev.azure.com](http://dev.azure.com) home page and create your project.  
 ![7](https://aws1.discourse-cdn.com/techcommunity/original/2X/3/36abd01b74c43235e6fa64431d163c07ef24e4fe.png)
16. Create a new pipeline, select the desired repository (Azure repo, git, bitbucket, svn, etc.) and add an empty/agent job, and select “Default” agent pool in the Agent Selection.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/d/d9d46d88cb22a8d54a52bdfd29b33f6448694ee1.png)
17. On the Agent job, select add and Add a “Power shell script” step. In the Power shell script, select inline and provide the CCE script to install UM. The script can even be saved in the repo and referred to in this task.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/f/faf0de69ed9db4c0f498e3546e1b9ff7d1823966.png)  
Script Used here is given below  
`<sagcc.bat absolute path> exec templates composite apply <UM Server YAML Template Alias from CCE> nodes=<node alias> um.memory.max=<max um memory> repo.product=<Product Image alias>`
18. Then execute the pipeline which will schedule the Command Central Job for UM Installation, instance creation and starts the UM server. We can verify the installation in Command Central as shown below.  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/8/8bc14fad95cfc51b4d6b4848e77a5d5a5e8b3dd5.png)  
 ![image](https://aws1.discourse-cdn.com/techcommunity/original/2X/4/4c2831f335e6a81ff5c8faa8b2e6f4b0a7526ea6.png)

Notes –

- This article provides on the basic installation of UM. Additional configuration as needed can be applied in the YAML template.
- Also, additional fixes can be included in the above URL.
- Sync Job can be added while installation to wait for the template execution and validate the installation.
- Similar steps can be followed for other product installations as well. Sample YAML templates for different product installations can be found in the below git project.
<aside data-onebox-src="https://github.com/SoftwareAG/sagdevops-templates">
  <header>
      <img src="https://aws1.discourse-cdn.com/techcommunity/original/2X/b/bad3e5f9ad67c1ddf145107ce7032ac1d7b22563.svg" width="32" height="32">

      <a href="https://github.com/SoftwareAG/sagdevops-templates" target="_blank" rel="noopener">GitHub</a>
  </header>

  <article>
    <div style="--aspect-ratio:690/345;"><img src="https://aws1.discourse-cdn.com/techcommunity/optimized/3X/d/4/d4b5c7e74326dc3d68599488a13dc8ca3e369a62_2_690x345.png" width="690" height="345" srcset="https://aws1.discourse-cdn.com/techcommunity/optimized/3X/d/4/d4b5c7e74326dc3d68599488a13dc8ca3e369a62_2_690x345.png, https://aws1.discourse-cdn.com/techcommunity/optimized/3X/d/4/d4b5c7e74326dc3d68599488a13dc8ca3e369a62_2_1035x517.png 1.5x, https://aws1.discourse-cdn.com/techcommunity/original/3X/d/4/d4b5c7e74326dc3d68599488a13dc8ca3e369a62.png 2x" data-small-upload="https://aws1.discourse-cdn.com/techcommunity/optimized/3X/d/4/d4b5c7e74326dc3d68599488a13dc8ca3e369a62_2_10x10.png"></div>

<h3><a href="https://github.com/SoftwareAG/sagdevops-templates" target="_blank" rel="noopener">GitHub - SoftwareAG/sagdevops-templates: Official library of Command Central...</a></h3>

  <p>Official library of Command Central default templates and Docker support - GitHub - SoftwareAG/sagdevops-templates: Official library of Command Central default templates and Docker support</p>

  </article>

  <div>
    
    
  </div>

  <div style="clear: both"></div>
</aside>
- Self-Hosted Agent on Azure VMs is one of the approaches for invoking Command central jobs from Azure pipelines. Additionally, below approaches can be used for Azure pipeline Integration with Command Central.
- Remote Power Shell invocation - [Install API Gateway using Remote Power Shell Invocation](https://tech.forums.softwareag.com/t/install-api-gateway-using-command-central-cli-azure-devops-remote-power-shell-option-on-azure-vms/238728)
- Command Central REST API Approach - [Install webMethods Integration Server using CCE REST API Approach](https://tech.forums.softwareag.com/t/install-integration-server-create-an-instance-using-command-central-rest-apis-azure-devops-on-azure-vms/238358)
- Command Central CLI docker container

[Read full topic](https://tech.forums.softwareag.com/t/install-universal-messaging-server-using-command-central-cli-azure-devops-microsoft-self-hosted-agent-on-azure-vms/238705/1)