

# Deploying a package version through AWS IoT jobs
<a name="deploying-package-version"></a>

You can use the following steps to deploy a package version through the AWS Management Console.

**Prerequisites:**

Before you begin, do the following:
+ Register AWS IoT things with AWS IoT Core. For directions to add your devices to AWS IoT Core, see [Create a thing object](https://docs.aws.amazon.com/iot/latest/developerguide/create-iot-resources.html#create-aws-thing).
+ [Optional] Create an AWS IoT thing group or dynamic thing group to target the devices that you will deploy the package version. For directions to create a thing group, see [Create a static thing group](https://docs.aws.amazon.com/iot/latest/developerguide/thing-groups.html#create-thing-group). For directions to create a dynamic thing group, see [Create a dynamic thing group](https://docs.aws.amazon.com/iot/latest/developerguide/dynamic-thing-groups.html#create-dynamic-thing-group).
+ Create a software package and a package version. For more information, see [Creating a software package and package version](creating-package-and-version.md).
+ Create a job document. For more information, see [Preparing the job document and package version for deployment](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-jobs-for-service-package-catalog.html#preparing-to-deploy).

**To deploy an AWS IoT job**

1. On the [AWS IoT console](https://console.aws.amazon.com/iot/home), choose **Software packages**.

1. Choose the software package that you want to deploy. The **software package details** page appears.

1. Choose the package version that you want to deploy, under **Versions**, and choose **Deploy job version**.

1. If this is your first time deploying a job through this portal, a dialog box describing the requirements appears. Review the information and choose **Acknowledge**.

1. Enter a name for the deployment or leave the autogenerated name in the **Name** field.

1. [Optional] In the **Description** field, enter a description that identifies the purpose or contents of the deployment, or leave the autogenerated information. 

   **Note:** We recommend that you don't use personally identifiable information in the Job name and description fields.

1. [Optional] Add any tags to associate with this job.

1. Choose **Next**.

1. Under **Job targets**, choose the things or thing groups that should receive the job.

1. In the **Job file** field, specify the job document JSON file.

1. Open **Jobs integration with the Package Catalog service**.

1. Select the packages and versions that are specified within your job document.
**Note**  
You are required to choose the same packages and package versions that are specified within the job document. You can include more, but the job will issue instructions only for the packages and versions included in the job document. For more information, see [Naming the packages and versions when deploying](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-jobs-for-service-package-catalog.html#naming-package-versions).

1. Choose **Next**.

1. On the Job configuration page, select one of the following job types in the Job configuration dialog box:
   + **Snapshot job:** A snapshot job is complete when it's finished its run on the target devices and groups.
   + **Continuous job:** A continuous job applies to thing groups and runs on any device that you later add to a specified target group.

1. In the **Additional configurations - optional** dialog box, review the following optional job configurations and make your selections accordingly. For more information, see [Job rollout, scheduling, and abort configurations](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-configurations-details.html#job-rollout-abort-scheduling) and [Job execution timeout and retry configurations](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-configurations-details.html#job-timeout-retry).
   + Rollout configuration
   + Scheduling configuration
   + Job executions timeout configuration
   + Job executions retry configuration
   + Abort configuration

1. Review the job selections and then choose **Submit**.

After you create the job, the console generates a JSON signature and places it in your job document. You can use the AWS IoT console to view the status of a job, or cancel or delete a job. To manage jobs, go to the [Job hub of the console](https://console.aws.amazon.com/iot/home#/jobhub).