Managing Assets > ThingWorx Software Content Management (Admin Only) > Deployments > Create a Deployment
  
Create a Deployment
Complete the following steps to deploy a published package:
1. From the left pane in ThingWorx Software Content Management, under the Deployments section, navigate to DEPLOYMENT > Create one-time deployment.
The Create One Time Deployment page appears.
2. Ensure that the package that you want to create deployment for is displayed in the Selected Package field.
This field displays the last package that was created or the last package that was selected. If you want to deploy a different package, click , and select the correct package from the Find Packages For Deployment page.
3. In the Deployment Name field, enter a name for the deployment.
4. In the Deployment Description field, enter a brief description of the deployment.
5. In the Auto-Retry Count field, enter the number of times that you want the deployment to be auto-retried. For more information, see Auto-Retry Deployments.
If automatic retry is enabled for deployments, the Auto-Retry Count option is available, and by default, it is set to 5. For information about configuring this option, see Configuration Parameters for Auto-Retry.
6. While creating a file-based package, if you added a sample script to be delivered to the agent, you can choose to modify the script when you create a deployment. You need to add the appropriate parameters and values for that script. For more information, see Sample Scripts for File-based Packages. Under the Optional Script Parameters section, click to add .lua script parameters, and complete the following steps:
a. In the Parameter Name field, enter the name of the parameter.
b. In the Value field, enter the appropriate parameter value.
c. Click to add the additional script parameter to the Script Parameters list.
You can click to delete the script parameter from the Script Parameters list.
7. In the Package Download Time field, select one of the following options:
Immediately — Select to download the package immediately to the agent.
Date — Select to specify the date and time at which the package must be downloaded to the agent.
8. In the Package Install Time field, select one of the following options:
Immediately — Select to install the package immediately on the agent.
Date — Select to specify the date and time at which the package must be installed on the agent.
9. Click Next.
The Specify Target Assets page appears.
10. You can search for and select an asset by using one of the following options:
Select individual assets:
1. Under the Select Individual Assets section, click Select Assets.
2. Use the available filters and click Search to display all the assets that match the filter criteria that you have set. Alternatively, click Clear to clear the asset search results.
3. If you want, click Save to save the search. In the Name field, enter an appropriate name for the search.
4. Select the check box next to the asset that you want to deploy the package to, and click Add Selected.
The asset is displayed in the Select Individual Assets table.
5. If you do not want to deploy the package to this asset, click to delete the asset from the table.
Select assets from a saved search:
1. Under the Select Assets from Saved Search section, select a saved asset search available in the Included Assets or Excluded Assets list.
By default, the All My Assets search is available.
* 
The Included Assets search allows you to select the assets that must receive the package and the Excluded Assets search allows you to select the assets that should not receive the package.
2. Click to add the assets from the selected search to the Included Assets or Excluded Assets table.
Or, you can click New Asset Search to create a new asset search. Enter appropriate information in the different fields, and click Save to save the search. Repeat this step to add multiple searches to the Included Assets or Excluded Assets table.
* 
If you want a search to be performed only after a user clicks Search on the Specify Target Assets page, complete the following steps:
a. In ThingWorx Composer, go to the TW.RSM.SFW.Thing.SoftwareUtils thing.
b. Under ENTITY INFORMATION, click Configuration.
The Configuration for TW.RSM.SFW.Thing.SoftwareUtils page appears.
c. Under the General Settings section, select the DisableSearchOnMashupLoad check box.
* 
Note the following points:
If the value of the isReporting property for a remote asset is true, then you can select and deploy a package to the asset.
If the value of the isReporting property for a remote asset is false, then even if you select and deploy a package to the asset, the deployment is stuck in the Pending state until the asset connects.
11. Click Next.
The Notify page appears.
* 
To send notifications about deployment status, you need to have the Mail Extension installed and configured. For more information, see the ThingWorx Utilities Installation Guide.
12. Sending notifications to users, user groups, or email address is an optional step. Complete the following steps to send notifications:
a. Under the Notification Recipients section, depending on your requirement, do the following:
Click the Enable error notification check box to send an error notification to the selected users, user groups, or email addresses.
Click the Notify people below when deployment to all assets has finished to send a notification to the selected users, user groups, or email addresses when deployment completes.
b. Under the Notify User, Notify User Groups, or Notify These Email Addresses sections, complete the following steps to select the user, user group, or email address that you want to receive notifications about package deployment:
a. Click to search for and select users, user groups, and email addresses.
b. Click to add the user, user group, or email address to the appropriate list.
Alternatively, if you do not want the selected user, user group, or email address to receive a notification, select it from the appropriate list, and click .
13. Click Next.
The Start Deployment page appears.
14. Review the information on this page, and if required, complete the following actions:
View the package in the Selected Package field, and if you do not want to deploy this package, click to go to the Find Packages For Deployment page.
* 
In this case, all the information that you have saved while creating the deployment is lost, and you have to start from the beginning.
To view the assets on which the package will be deployed, click View target assets to go to the View Target Assets of Deployment page. Ensure that all the target assets are present and click Back to return to the Start Test Deployment page.
To modify the assets on which the package will be deployed, click View target asset searches to go to the Specify Target Assets page. Select the appropriate asset and click Next.
If you do not want to modify the assets on which the package will be deployed, click Back to return to the Start Deployment page.
To view or modify the users, user groups, or email addresses that must be notified about the status of deployment, click View notification recipients to go to the Notify page. Ensure that the lists contain the correct users, user groups, and email addresses, and click Next.
Click View dependencies to view dependencies of the published package. Since the package is already published, you cannot add or modify dependencies.
Click EDIT to go to the Edit One Time Deployment page. You can modify the package, or update the deployment name, deployment description, package download time, or package installation time, and click Next.
15. Once you have confirmed that the deployment is configured correctly, click Deploy.
The Track Deployment By Package page appears. For more information about tracking deployments, see Track Package Deployment.
* 
On each SCM-capable thing, the maxConcurrentUpdates property controls how many concurrent updates a thing can process. By default, this property is set to 1. If a deployment is attempted for an asset and it exceeds the value of the maxConcurrentUpdates property, that deployment will be in the Pending state until it can proceed.
To set the number of concurrent deployments that an agent can handle, go to the thing in ThingWorx Composer and update the value of the maxConcurrentUpdates property. Regardless of the value of this property, deployments take place within the threshold of the capability of the agent.