A project’s workflow determines that deployment schedules are managed in one of two ways:
The workflow is configured to schedule project deployment immediately. Doing so bypasses the need for a deployment administrator or the RecurringDeploymentService to schedule deployments.
A workflow element flags a project as approved for deployment. When this stage in the workflow occurs, the project appears in the Admin Console in the ATG Business Control Center. A deployment administrator can manually schedule deployment for the project, or set up the RecurringDeploymentService to schedule approved projects for automatic deployment in batches at a predetermined time—for example, every night at 3 AM.
A deployment that is scheduled by the workflow for immediate deployment only pertains to one project at a time. Deploying from the RecurringDeploymentService or the Admin Console allows simultaneous deployment of multiple projects.
For details on scheduling a deployment manually in the Admin Console, see Deploying from the Admin Console. For information about scheduling a deployment automatically, see Configuring the RecurringDeploymentService.
For information on scheduling a deployment manually or automatically via a project workflow, see Project Workflows.
Deployment queue
However a deployment is scheduled, all deployments pass through a deployment queue. Each deployment target maintains a separate queue of deployments. Deployments go immediately into the queue, or the Admin Console assigns them a time to enter the queue. Queued deployments run in order of entry; however, you can reorder them through the Admin Console.
Fulfiller service
The deployment server has a fulfiller service that periodically passes through each queue and performs tasks such as moving deployments whose deploy time has arrived into the appropriate queue. You can configure the frequency of these tasks through the schedule
property in the /atg/epub/deployment/DeploymentFulfiller
component.
The deployment fulfiller service is solely responsible for starting deployments. When a deployment reaches the head of the deployment queue, the fulfiller acts as follows:
Verifies the target site is in a deployable state—that is, the target site is: accessible, not in an error state, and not running a current deployment.
Moves the deployment out of the queue and into the position of the current deployment.
Starts the deployment and moves on.
Deployments that complete successfully delete themselves and nudge the fulfiller to check the queue for the next deployment. Deployments that fail wait in an error state and display as such in the Admin Console until a deployment administrator corrects the problem or abandons the deployment.
Interrupting deployments
If necessary, you can suspend and resume target queues individually from the Admin Console. The deployment server never automatically resumes a suspended queue. However, projects can continue to schedule deployments to the suspended queue’s site.
You suspend a queue when you need to bypass the normal deployment fulfiller cycle. After suspending the deployment queue for a specific target site, you can move the desired deployment to the head of the queue, and choose Run Now in the Admin Console. For more information, see Deploying from the Admin Console in the Deploying Project Assets chapter.