How-to guides

Run a pipeline

Start a run to carry a configuration change along a pipeline's path toward a production environment, pausing at any gates along the way.

A pipeline is an ordered path of environments that ends at a production environment. A run carries one change set along that path. You start a run whenever you're ready to move a change forward.

Start a run

  1. Open Pipelines and find the one you want to use. You can choose Run right from the list, or open the pipeline and choose New run.
  2. Choose what to bring it up to. Pick the change set you want to move. The latest is picked for you. Mochi tells you which environment the run enters and where it heads next.
  3. Choose Run. The run enters the first stage that isn't up to date yet and moves toward production.
A change travels the whole path
An environment part-way along a pipeline gets its updates from the stage before it, so there's no sending a change straight to it and skipping what's in front. If you aim a delivery at one, Mochi says so and asks you to choose the pipeline instead. Run the pipeline and each stage gets the change in order.

Passing the gates

A stage can update automatically or wait for you to start it, and it can ask for approval before a change lands there. When a run reaches a stage that needs approving, it pauses until enough approvers say yes, then carries on. You can follow its progress in Runs.

What can stop a run

Before a run changes anything in an environment, Mochi runs a few checks over what it's about to deliver. If a check doesn't pass, the run stops at that stage without changing anything, and tells you what it found so you can put it right and run again. A run stops when:

  • The change wouldn't be valid. Something about it doesn't hold together on its own.
  • It would leave something pointing at configuration that isn't there. If an item you're delivering depends on another item, that item has to be in the target environment It can already be there, or be brought along by this same run. If the target environment already has it, that's fine, even if you don't track it. The run only stops when the dependency truly isn't there, because delivering the item would leave it pointing at nothing.
  • The target was changed directly in Aprimo. If a tracked item was edited in the environment outside Mochi since the last delivery, the run stops rather than overwrite that change. A stage can be set to restore the approved version instead, in which case the delivery goes ahead and brings the item back in line.
A stopped run is safe
A run that stops on one of these checks hasn't written anything to the environment. Fix what it flagged (bring the missing dependency in, adjust the item, or adopt the direct change), then start the run again.
A run needs a change set
A run can only carry a change set that's already part of your configuration. If you haven't made one yet, there's nothing to send. Start with Author a change set.
Run a pipeline · Mochi Deploy docs