Skip to main content
Pulumi logo Pulumi logo
  1. Docs
  2. Deployments & Workflows
  3. Concepts
  4. Deployments Settings
  5. Source Settings

Source Settings

    The Source determines where a deployment gets the Pulumi program it runs. In the Pulumi Cloud console, open Settings > Deploy for the stack and choose a source. The dropdown lists the version control integrations connected to your organization — for example GitHub, GitLab, Bitbucket, or Azure DevOps — along with Git, No code, and None. Only integrations that are installed appear, so the exact set of options depends on your organization.

    Version control integrations

    Select a connected integration to deploy from a repository it manages. Every integration exposes the same source fields, though the repository identifier format varies by provider:

    • Repository (required): the repository to deploy from. The format depends on the provider — for example owner/repo for GitHub, group/project for GitLab, workspace/repo for Bitbucket, and organization/project/repository for Azure DevOps.
    • Branch (required): the branch to deploy.
    • Pulumi.yaml folder: the path, relative to the repository root, to the directory that contains your Pulumi.yaml. Leave it blank when the project lives at the repository root.

    A set of toggles controls which repository events trigger a deployment. (GitLab labels these in terms of “merge requests” where other providers say “pull requests”; the behavior is the same.)

    • Run previews for pull requests: run a pulumi preview when a pull request is opened against the configured branch, and post the result as a comment on the request.
    • Run updates for pushed commits: run a pulumi up when commits are pushed or merged to the configured branch.
    • Run updates for pushed tags: run a pulumi up when a matching git tag is pushed. See Tag Filtering.
    • Use this stack as a template for pull request stacks: use this stack as the template for the review stacks created on each pull request.

    These toggles depend on the version control integration, which also clones your repository and posts status comments. Custom VCS supports push-to-deploy only (no request previews or review stacks). In code, the toggles correspond to the provider object (repository, deployCommits, previewPullRequests, pullRequestTemplate) and sourceContext.git (branch, repoDir) on the pulumiservice.DeploymentSettings resource. See Review stacks for complete examples.

    Git

    Use the Git source to deploy from any Git repository by URL — for example a self-managed Git server, or a provider you have not connected as an integration. Provide the repository URL, a branch, and an optional Pulumi.yaml folder, along with the credentials a private repository requires (typically an access token or SSH key managed with Pulumi ESC).

    The Git source only clones and deploys your program. To also get pull or merge request previews, push-to-deploy, and status comments, connect the matching version control integration and select it as the source instead.

    No code

    The No code source lets you base a stack’s deployment on a Pulumi template instead of a connected repository — for example, when a stack is created from an organization template.

    None

    Select None when the deployment has no source to fetch — typically because the Pulumi program is already present in a custom executor image.

      The infrastructure as code platform for any cloud.