# Cockpit CMS Drone Deploys Addon This addons is a modified version of the addon [CockpitCMS-Netlify](https://github.com/pauloamgomes/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. Go to "Settings - Drone Deploys" and add a your drone configuration like below as following | | | | --- | --- | | URL: | your drone server url, pe. 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 | | Target: | the target condition 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 ```yaml kind: pipeline name: default steps: - name: deploy website image: alpine commands: # your deploy commands here - echo Hello World when: event: [ promote ] target: [ website ] ``` - settings in your **Cockpit - Settings - Drone Deploys** for an example project *myorganization/myproject* | | | | --- | --- | | URL: | https://YOUR.DRONE.SERVER | | Token: | XXXXXXXXXXXX | | Owner: | myorganization | | Project: | myproject | | Branch: | master | | Target: | website | | Build: | *empty* | ## 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 and license Copyright 2019 Sebastian Frank under the MIT license.