Cockpit CMS Addon for Drone CI Deploys
php
Go to file
2019-03-05 15:42:56 +01:00
Controller init 2019-03-05 15:28:29 +01:00
views/deploys init 2019-03-05 15:28:29 +01:00
admin.php init 2019-03-05 15:28:29 +01:00
bootstrap.php init 2019-03-05 15:28:29 +01:00
icon.svg init 2019-03-05 15:28:29 +01:00
LICENSE fixed LICENSE 2019-03-05 15:29:37 +01:00
README.md README updated 2019-03-05 15:42:56 +01:00

Cockpit CMS Drone Deploys Addon

This addons is a modified version of the addon CockpitCMS-Netlify.

It provides an integration with Drone CI promote feature to trigger a pipeline run. You can use it to deploy a website based on data in Cockpit CMS and built with a static site generator.

Installation

  1. Confirm that you have Cockpit CMS (Next branch) installed and working.
  2. Download and extract to 'your-cockpit-docroot/addons' (e.g. cockpitcms/addons/Drone, the addon folder name must be Drone)
  3. Drone icon will apear, if configuration is completed.

Configuration

  1. Ensure that from your Drone account you have an access token and permissions to promote a build for the project and branch, you want to use.
  2. Edit Cockpit config/config.yaml and add a new entry for drone like below:
drone:
  url: https://YOUR.DRONE.SERVER
  token: <your drone access token>
  owner: <the owner of the git repository>
  project: <the git project>
  branch: <the branch in your git repository for the deployment>
  environment: <the environment used in your drone pipeline>
  build: <the build number used as base for deployment> # leave empty and the addon will use the latest successfull build based on a push event
  

Permissions

There are just two permissions:

  • manage.view - provides access to the Drone deploy list
  • manage.deploy - provides access to trigger a new deploy

Drone CI pipeline example

  • .drone.yml in your git repository
kind: pipeline
name: default

steps:
  - name: deploy website
    image: alpine
    commands:
      # your deploy commands here
      - echo Hello World
    when:
      event: [ promote ]
      environment: [ website ]
  • config.yml in your Cockpit config folder for an example project myorganization/myproject
...

drone:
  url: https://YOUR.DRONE.SERVER
  owner: myorganization
  project: myproject
  branch: master
  environment: website
  token: XXXXXXXXXXXXXXXXXXXXX
  

Usage

Having the configuration defined accessing the Drone deploys page (/drone/deploys) a list of latest (limited to 50) deploys is displayed:

To trigger a new deploy just hit the Deploy button an confirm the action.

Copyright 2019 Sebastian Frank under the MIT license.