deploy.yml
Gitploy configures a pipeline with a simple, easy‑to‑read file that you commit to your git repository. The default path is deploy.yml
at the root directory, but you can replace the file path in the settings tab of Gitploy. You can check the documentation for the specification of the configuration file and also references Use Cases.
⚠️ Note that the configuration file must be at the head of the default branch.
Quick Start
If you want to get started quickly, you should click the New Configuration link, copy the deploy.yml
file, and push it into your git repository. Then you can find the production
environment in Gitploy.
# deploy.yml
envs:
- name: production
auto_merge: false
# To avoid the context verification.
# required_context: []
Figure) New Configuration Link
Features
Multi Environment
For multi-environment, Gitploy provides you can make different pipelines for each environment, respectively. The configuration has to be defined under the envs
field. The following example shows each environment has a different configuration.
envs:
# Development environment
- name: development
auto_merge: false
required_contexts: []
# Production environment
- name: production
auto_merge: true
required_contexts:
- test
- docker-image
Parameters of GitHub deployment API
Internally, Gitploy posts a deployment to GitHub deployments API with parameters from the configuration file. These parameters help you can verify the artifact before you start to deploy. The configuration provides fields to set all parameters of GitHub deployment API. You can check the document for the detail.
envs:
- name: production
task: deploy:lambda
description: Start deploying to the production.
auto_merge: false
required_contexts:
- test
- integration-test
production_environment: true
Auto Deploy
Gitploy provides not only manual deployment but also auto-deployment. Gitploy is listening for the push event dispatched from GitHub and triggers to deploy automatically when the ref is matched with the auto_deploy_on
of the configuration file.
envs:
- name: production
auto_deploy_on: refs/heads/main
production_environment: true
Deploy Freeze Window
Gitploy support to add a window to prevent unintended deployment for the environment. You can freeze a window periodically by a cron expression.
envs:
- name: production
frozen_windows:
# Freeze every midnights
- start: "50 23 * * *"
duration: 20m
location: America/New_York
# Freeze every weekends
- start: "0 * * * SAT,SUN"
duration: 1h
location: Asia/Seoul
Review
Gitploy provides the review process. You can list up to users on the configuration file. You can check the document for the detail.
envs:
- name: production
review:
enabled: true
reviewers: ["ocotocat", "noah"]