-
Notifications
You must be signed in to change notification settings - Fork 286
ADD userguide/managingApp/triggering-a-deployment #6400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
khanhtc1202
merged 6 commits into
pipe-cd:master
from
rahulshendre:userguide/managingApp/triggering-a-deployment
Jan 13, 2026
+55
−0
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
39fe99f
ADD managingApp/triggering-a-deployment
rahulshendre 6f438c6
improving readability
rahulshendre 1dfe474
apply review suggestions
rahulshendre f79a2c8
address review
rahulshendre f8268f1
Update docs/content/en/docs-v1.0.x/user-guide/managing-application/tr…
eeshaanSA 8e9ffd2
using piped only instead of piped planner
rahulshendre File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
55 changes: 55 additions & 0 deletions
55
...ntent/en/docs-v1.0.x/user-guide/managing-application/triggering-a-deployment.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| --- | ||
| title: "Triggering a deployment" | ||
| linkTitle: "Triggering a deployment" | ||
| weight: 4 | ||
| description: > | ||
| This page describes when a deployment is triggered automatically and how to manually trigger a deployment. | ||
| --- | ||
|
|
||
| PipeCD uses Git as a single source of truth; all application resources are defined declaratively and immutably in Git. Whenever a developer wants to update the application or infrastructure, they will have to open a pull request to that Git repository to propose the change. The state defined in Git is the desired state for the application and infrastructure running in the cluster. | ||
|
|
||
| PipeCD applies these changes by triggering deployments for affected applications. Each deployment synchronizes the running resources in the cluster to match the state defined in the latest Git commit. | ||
|
|
||
| By default, PipeCD triggers a new deployment when you merge a pull request. | ||
| You can customize this behavior in your application configuration file (app.pipecd.yaml) to control whether and when deployments run. | ||
|
|
||
| For example, you can use [`onOutOfSync`](#trigger-configuration) to automatically trigger a deployment whenever PipeCD detects a configuration drift and the application enters an OUT_OF_SYNC state. | ||
|
|
||
| ### Trigger configuration | ||
|
rahulshendre marked this conversation as resolved.
|
||
|
|
||
| You can configure when PipeCD triggers a new deployment. The following trigger types are available: | ||
|
|
||
| - `onCommit`: Triggers a deployment when new Git commits affect the application. | ||
| - `onCommand`: Triggers a deployment when the application receives a SYNC command. | ||
| - `onOutOfSync`: Triggers a deployment when the application enters an OUT_OF_SYNC state. | ||
| - `onChain`: Triggers a deployment when the application is part of a deployment chain. | ||
|
|
||
| For the full list of options, see [Configuration Reference](../../configuration-reference/#deploymenttrigger). | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure this link could be available for v1 docs but let merge and check this @rahulshendre @eeshaanSA |
||
|
|
||
| After a deployment is triggered, it is added to a queue and handled by the appropriate `piped`. At this stage, the deployment pipeline is not yet decided. | ||
| `piped` ensures that only one deployment runs per application at a time. If no deployment is currently running, `piped` selects a queued deployment and plans its pipeline. | ||
| The deployment pipeline is created based on the application configuration and the differences between the current running state and the desired state defined in the latest commit. | ||
|
|
||
| For example: | ||
|
rahulshendre marked this conversation as resolved.
|
||
|
|
||
| - If a merged pull request updates a Deployment's container image or updates a mounted ConfigMap or Secret, `piped` decides to use the specified pipeline for a progressive deployment. | ||
| - If a merged pull request only updates the `replicas` number, `piped` decides to use a quick sync to scale the resources. | ||
|
|
||
| You can configure `piped` to use the [QuickSync](../../../concepts/#sync-strategy) or the specified pipeline based on the commit message by configuring [CommitMatcher](../../configuration-reference/#commitmatcher) in the application configuration. | ||
|
|
||
| After the planning, the deployment will be executed as per the decided pipeline. The deployment execution including the state of each stage as well as their logs can be viewed in real time on the deployment details page on the Web UI. | ||
|
|
||
|  | ||
| <p style="text-align: center;"> | ||
| A Running Deployment at the Deployment Details Page | ||
| </p> | ||
|
|
||
| Although the deployments are triggered automatically by default, you can also manually trigger a deployment from the Web UI. | ||
|
|
||
| By clicking the `SYNC` button at the application details page, a new deployment will be triggered to sync the application to the latest state of the master branch (default branch). | ||
|
|
||
|  | ||
| <p style="text-align: center;"> | ||
| Application Details Page | ||
| </p> | ||
|
|
||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.