79 lines
2.4 KiB
Markdown
79 lines
2.4 KiB
Markdown
# 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 ]
|
|
```
|
|
|
|
- **config.yml** in your Cockpit config folder for an example project *myorganization/myproject*
|
|
|
|
```yml
|
|
...
|
|
|
|
drone:
|
|
url: https://YOUR.DRONE.SERVER
|
|
owner: myorganization
|
|
project: myproject
|
|
branch: master
|
|
target: 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 and license
|
|
|
|
Copyright 2019 Sebastian Frank under the MIT license.
|
|
|