Public Repository

Last pushed: 9 months ago
Short Description
DEPRECATED: See nytimes/drone-gdm
Full Description


A simple drone plugin which wraps Google Deployment Manager.

NOTE: See latest documention on the drone-gdm github page


  • Create or acquire semantics - Set the desired state and the plugin
    determines whether to create, update, or delete.
  • Support for GDM Beta Composite Types
  • Pass in additional variables to your GDM template via properties
  • Control synchronicity using async



Parameter Required Description
token yes JSON auth token
project yes The GCP project to deploy into
account no Account (only required for P12 keys)
verbose no Provide extra diagnostic information when true
preview no (Not yet implemented)
passAction no If true, GDM will invoke your template with `--properties=action:(create update)`.
async no Execute deployment asynchronously (default: false)
gcloudPath no Path to gcloud (default: /google-cloud-sdk/bin/gcloud)
configurations: yes A list of one or more deployements/types:
*.name yes Name of deployment or type
*.description no Long form description for manifest
*.type yes One of: "deployment" or "composite"
*.state yes One of: "absent" or "present"
*.path yes Path to gdm configuration
*.properties no Map passed to gdm via --properties

Example: Deploying a VM with a Service:

    # Indicate where to acquire the image:
    image: andrew-canaday/drone-gdm

    # Provided JSON auth token (from drone secrets):
    token: >
    project: my-gcp-project   # --project
    preview: false            # --preview
    async: false              # --async
    gcloudPath: /bin/gcloud   # path to gcloud executable

    # Multiple deployments/types, executed in-order:
    - name:  svc1
      type:  deployment
      state: present
      path: ./svc.yaml
      description: |
        Deployment for service, sv1 and
        it's associated GCP infrastructure.
      properties:    # mapped to gcloud "--properties=..."
        myvar: myval # can be referenced in jinja as: {{ properties.myvar }}

    - name:  mytype
      type: composite
      state: present
      path: ./mytype.jinja
      description: |
        A composite type provided by this deployment which can be reused
        by other deployments in this project.
        myothervar: 620

Docker Pull Command