This document provides an overview of a session on building and validating Quick Deploy XML files for use with Deployment Center. The session will cover creating a Quick Deploy XML to define a new Teamcenter environment, validating the XML using an XSD schema to check for errors, and reviewing examples of components that can be included in the XML such as for deploying BMIDE, TCCS, and 4tRAC clients.
Note: TEM is deprecated (Tc13.2 May 2021) and will be removed in Teamcenter 15 (obsolete).
Let’s get some preliminary steps out the way...
What kind of architectures can Deployment Center build...
An “All-in-One” environment includes the database software on the same server. A “Single Server” environment has the database software on a separate server but all the Teamcenter components on the same server. A “Distributed” environment separates the Teamcenter components across multiple servers for performance, scalability and can include even redundancy.
Ref: Teamcenter_Deployment_Reference_Architecture_DC4.2_v1.pdf
There are several Quick Deploy configurations provided with the Teamcenter Deployment Reference Architecture. The term “Multitier” is the same as “Distributed”.
See SFB-TEAMCENTER-8016820 (an update to SFB-TEAMCENTER-8015506).
Download and install Zulu 11 JRE...
Select Java Version: Java 11(LTS)
Select Operating System: Windows
Select Architecture: x86 64-bit
Click .msi button
Change Java Package: JDK
Click .msi button
(for later installations)
Install Azul Zulu 11 by right-clicking the MSI and selecting “Install”. You can validate that the install is correct by opening C:\Program Files\Zulu\ in Windows Explorer and that the JAVA_HOME System variable is set correctly.
Tip: Remove the appended “\“ and also set JRE_HOME and JRE64_HOME to the same value. These variables will be available after the next reboot.
Download the software from Support: https://support.sw.siemens.com/en-US/product/282219420/download/PL20220314275597017
Extract and stage the software in C:\Temp
Find “cmd”, Rclick and select “Run as Administrator” - required since you will be modifying the system by installing services.
Note: A JDK and setting JAVA_HOME is required to run DC.
In the command prompt...
cd /d C:\Temp\DeploymentCenter_4.2.1\deployment_center
deployment_center.bat -h
This will let you know that everything is ready, and you can begin the installation. Notice all the switches that are available for “-install”?
An easier way to install DC is using the install_config.properties file. It contains most of the switches available on the command line. Rather than typing all the switches and values, which you can do, modify this file to make the process repeatable.
Open install_config.properties in your favorite editor (Visual Studio Code or Notepad++ are recommended).
Note: For those who had their hand up, open upgrade_config.properties.
In the install media, C:\Temp\DeploymentCenter_4.2.1\deployment_center...
Use a password file when running utilities.
dc_encrypt -password=dcadmin -file=dc.pwf
Save dc.pwf wherever you need it, for instance, C:\Siemens\DC\dc_quick_deploy\dc.pwf.
Use encrypted passwords in your QD XML’s to prevent others from discovering them. e.g., ps -ef on Linux.
dc_encrypt -password=dcadmin
Use in these utilities:
deployment_center.bat -maintenance can also update an existing password later.
send_configuration_to_dc
deploy
dc_quick_deploy can also generate encrypted passwords.
If you are installing the Active Workspace Client Builder, JAVA_HOME must be set to the Java JDK location.
Normally, you install the JRE for use with Deployment Center. However, if you install a JDK then line 17 fails and skips to line 21 which appends “jre” to JAVA_HOME which does not exist with the JDK. Add quotes around %JAVA_HOME%\jre to resolve this error.
Edit install_config.properties...
enableSoftwareAnalytics=No (If you are a government contract otherwise “Yes”).
Enable later using http://dc_server:port/deploymentcenter/rest/softwareanalytics/updatesoftwareanalytics?enabled=true
serverDir=C:\\Siemens\\DC\\webserver (I remove spaces in the installation PATH and install under the vendor's name).
serverPort=8180 (8080 is the default port for many web servers).
serviceName=Teamcenter_DC_Service (Add “Teamcenter_” so this service sorts with the rest of your Teamcenter services).
repoDir=C:\\Siemens\\DC\\repository (Keep the same “root” installation folder if possible).
repoPort=8190 (8090 is the default port for Microservices).
repoServiceName=Teamcenter_DC_RepoService (Add “Teamcenter_”).
repoPublisherPort=8181 (8081 does not have a conflict that I’m aware of but staying with the same port range).
repoSubscriberPort=61616 (no change).
user=dcadmin (no change).
password=dcadmin (no change).
useEncryptedPassword=false (no change).
useHttpsCommunication=false (no change).
Save the file. You do not need to rename the file, but it is recommended that you follow the best practice by not modifying OOTB files (unless you must - explained later).
Use the properties file created earlier to install DC.
Back in the administrator command prompt...
deployment_center.bat -install -inputFile=.\acme_install_config.properties
The installation will pause for a while on [Step 8 of 12]. Be patient. Review the “\logs\deployment_center_debug_<datetime>.log” if you encounter errors (or are just curious).
Note: The DC utilities have moved.
Launch your Browser (Chrome recommended)...
Enter the address: http://localhost:8180/deploymentcenter/
Enter the Username
Enter the Password
Click Sign In
Remember the osUserName* and osUserPassword* settings in the install_config.properties file? I don’t normally change them in the file because I want to change the third “Publisher” service too. Not required.
Common modifications to a standard “Deploy” can be made in \system\deployer\deploy.bat. This deploy.bat is basically the template for the ones generated in deploy_scripts.
Populate the \repository\software\ directory with all the software that will be used in your environment or your Quick Deploy will fail.
Tip: Stop the Teamcenter_DC_RepoService and Teamcenter_DC_RepoService_Publisher services before pasting software into the repository.
Remember to unzip the software.
Review the \webserver\repotool\logs\* for scanning issues if the software does not appear in the Software Repository.
These reports used to be delivered with the DC software but do not exist in DC 4.2.1.
After populating the software repository and starting the services, log into DC and click “Software Repositories”. Notice that the “Configuration Report” column shows “Not Generated” on every row. Select a Row and the “Generate Software Configuration Report” icon will be shown. Click the icon to generate the report.
You will need to refresh, then a “Download Report” hyperlink is shown. The actual reports reside in the \webserver\report\ directory. Repeat for all the software in the repo.
Stop the services. Backup the db files and software directory content. Start the services.
Extract \webserver\additional_tools\dc_quick_deploy.zip to a known location for later. e.g. DC_ROOT\dc_quick_deploy\
Note: The send_configuration_to_dc.zip can be uploaded to servers in any preexisting environments that contain TEM that you want DC to manage.
A Full Export includes all possible component properties (Checked). A Lean Export will only include required or changed default properties (Unchecked).
A “lean” XML is about half the size.
Cool new feature, the Install Path column.
Now supports installing components:
Teamcenter Security Service Session Agent
Teamcenter Management Console
Select the Environment
Click Export Environment
Check Export all component properties
Click Export
Use encrypted passwords in your QD XML. The dc_quick_deploy utility can also encrypt passwords, not just dc_encrypt.bat.
When the value is encrypted, ensure that encrypted=“true”. When the value is in cleartext then encrypted=“false”.
Passwords are always encrypted when imported into the DC.
HTTPS works with:
send_configuration_to_dc
deploy
dc_quick_deploy
Leverage the Software Configuration Report to build your own QD XML.
The “Type” (Environment Type) can be set but has no hidden functionality.
The “Site Name” cannot be set (future addition).
The “configName” in the XML does not have any effect (used for Mectronics) which is why the “-environment” switch is still required on the command line.
Review the Software Configuration Report to build your own QD XML.
Practice creating environments in the DC UI and “Export Full” until you understand all the properties needed. Then you can start manually creating/changing your QD XML’s.
The “Client” tag accepts “Component” tag id’s.
The advantage of installing the standalone BMIDE is that you get the template selection for free.
Unlike RAC, the standalone BMIDE requires TCCS. Create a mass deploy for the developers configuring the data model.
Note: You can also create a combined 4tRAC/4tBMIDE by using the same name, 4tRACBMIDE, to combine the features into a single mass deploy.
Several MCAD support embedded AWC but require TCCS be installed.
Enable Client Communication System.
Shared.
FSC, Override Connection, Set Priority to the same value for “Load Balancing” Set to higher value for “Fail Over”.
Several MCAD support embedded AWC but require TCCS be installed.
Enable Client Communication System. Shared.
FSC, Override Connection, Set Priority to the same value for “Load Balancing” Set to higher value for “Fail over”.
Combining the 4tRAC and 2tRAC by using the same Machine Name results in an error. You cannot install the combined 2t4tRAC using DC 4.2.1. Use TEM to install the combined 2t4tRAC then “send_configuration_to_dc”. I did not try this so you are on your own here - might not be supported.
Warning! Click “Remove” and not “Delete”.
Some functionality has not been ported to AWC yet and will require the RAC. Create a mass deploy for these situations.
Some functionality has not been ported to AWC yet and will require the RAC. Create a mass deploy for these situations.
Support your developers!
Unlike RAC, the standalone BMIDE requires TCCS. Create a mass deploy for the developers configuring the data model.
Note: You can also create a combined 4tRAC/4tBMIDE by using the same name, 4tRACBMIDE, to combine the features into a single mass deploy.
A big THANK YOU to Bob Donovan! There is no need to edit or redeploy the JAR file. So far, these files have been added to the dc_quick_deploy directory.
In DC 4.2.1, find it here:
C:\Siemens\DC\webserver\webserver\jetty_9.4.43\webapps\deploymentcenter.war
\WEB-INF\lib\dc_quick_deploy\jar\com.dc.common.jar
\com\siemens\deploymentcenter\model\quickdeploy\schema\dc-quickdeploy.xsd
This XSD will be used to validate your XML. There are some powerful tools available for purchase that can validate that your XML is well formed, like Altova’s XMLSpy XML Validator. XMLSpy is not just for validating XML but also used for JSON and WSDL too. Although I use the free Visual Studio Code editor, most folks use Notepad++ so I’ll use it in this example.
In the Plugins Admin window, you will see a list of available plugins that you can enable or disable whenever you want. Also, it shows the plugins that you have installed and for which updates are available. Select the XML Tools plugin and click Install. Notepad++ will have to exit and restart to install the plugin. Click the Yes button.
I would not have found this without help from Bob Donovan!
No error detected.
Please fix xml syntax first.
Sever erro with recommendation.
Tip: In BMIDE, Generate Software Package dialog, ensure to iterate the Software Version (optionally, the Build Version) before adding the custom template to the software repo in DC. DC will not deploy the template unless the version is higher than previous deployments.
Command Prompt…
cd /d C:\Siemens\DC\dc_quick_deploy\
dc_quick_deploy.bat -help
Note: "-h" fails, must use "-help".
Use skipScriptGeneration until you are ready.
Use generateScripts to force the generation of deploy scripts.
Use override to make minor changes to an existing quick deploy configuration.
Troubleshooting: Find the path to log files are listed in deployer_timestamp.log (Diagnostic Checks Detail). Also check TC_ROOT\logs and TEMP directories for additional clues.
Bonus: debug send_configuration_to_dc using...
tem_config_scanner_error_timestamp.log, scanning operation failures.
tem_config_rest_service_timestamp.log, communication between this util and Deployment Center.
Learning pipeline:
Deployment Center
Quick Deploy
Deploy Automation
Deploy Automation pipeline:
Quick Deploy (using a config file to generate deploy scripts)
Deployment Center
Dev Ops Tool (coordinates activities)
https://docs.sw.siemens.com/documentation/external/PL20201019171727925/en-US/dc_videos/deployment_center/4.1/dc_videos/common/en_US/graphics/graphicLibrary/videos/dev_videos/sample_files/DC_3.1_sample_files.zip
\DeployAutomationExamples\Jenkins\
BuildAndDeployCustomSoftware
InstallNewAndUpdate
InstallNewTeamcenterEnv
ScanAndUpdateEnv