├── .drone.yml ├── .eslintrc.json ├── .github └── stale.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .vscode ├── launch.json └── settings.json ├── README.md ├── components └── card.js ├── lib └── plugins.js ├── next.config.js ├── package-lock.json ├── package.json ├── pages ├── 404.js ├── _app.js ├── _document.js ├── api │ └── plugins │ │ ├── [id].js │ │ ├── index.js │ │ ├── plugins.json │ │ └── tags.js ├── index.js └── plugins │ └── [id].js ├── plugin-validation ├── example-schema.json ├── plugin-schema.json └── validate.js ├── plugins ├── acr │ └── content.yaml ├── airbrake-deployment │ ├── content.yaml │ └── original.md ├── ansible │ ├── content.yaml │ └── original.md ├── anynines │ ├── content.yaml │ └── original.md ├── apex-up │ ├── content.yaml │ └── original.md ├── apko │ └── content.yaml ├── artifactory │ ├── content.yaml │ └── original.md ├── aws-sam-build │ └── content.yaml ├── aws-sam-deploy │ └── content.yaml ├── b2 │ ├── content.yaml │ └── original.md ├── bluemix-cloudfoundry │ ├── content.yaml │ └── original.md ├── buildah │ ├── content.yaml │ └── original.md ├── cache │ ├── content.yaml │ └── original.md ├── capistrano │ ├── content.yaml │ └── original.md ├── captains-log │ ├── content.yaml │ └── original.md ├── chef-supermarket │ ├── content.yaml │ └── original.md ├── circleci │ ├── content.yaml │ └── original.md ├── clair │ ├── content.yaml │ └── original.md ├── cloudflare-caching │ ├── content.yaml │ └── original.md ├── cloudflare-dns │ ├── content.yaml │ └── original.md ├── cloudflare-pages │ ├── content.yaml │ └── original.md ├── cloudformation │ ├── content.yaml │ └── original.md ├── cloudfoundry │ ├── content.yaml │ └── original.md ├── codacy │ ├── content.yaml │ └── original.md ├── codecov │ ├── content.yaml │ └── original.md ├── coveralls │ ├── content.yaml │ └── original.md ├── crowdin │ ├── content.yaml │ └── original.md ├── datadog │ ├── content.yaml │ └── original.md ├── dco │ ├── content.yaml │ └── original.md ├── deta │ ├── content.yaml │ └── original.md ├── diagnostics │ └── content.yaml ├── dingtalk-message │ ├── content.yaml │ └── original.md ├── discord │ ├── content.yaml │ └── original.md ├── docker │ ├── content.yaml │ └── original.md ├── doumark │ └── content.yaml ├── download │ ├── content.yaml │ └── original.md ├── downstream │ ├── content.yaml │ └── original.md ├── dron8s │ ├── content.yaml │ └── original.md ├── ecr │ ├── content.yaml │ └── original.md ├── ecs-deploy │ ├── content.yaml │ └── original.md ├── ecs │ ├── content.yaml │ └── original.md ├── elastic-beanstalk │ ├── content.yaml │ └── original.md ├── email │ ├── content.yaml │ └── original.md ├── facebook │ ├── content.yaml │ └── original.md ├── fandogh │ ├── content.yaml │ └── original.md ├── ftps │ ├── content.yaml │ └── original.md ├── gar │ ├── content.yaml │ └── original.md ├── gcf │ ├── content.yaml │ └── original.md ├── gcp-oidc │ └── content.yaml ├── gcr │ ├── content.yaml │ └── original.md ├── gcs-2 │ ├── content.yaml │ └── original.md ├── gcs-cache │ ├── content.yaml │ └── original.md ├── gcs │ ├── content.yaml │ └── original.md ├── gh-pages │ ├── content.yaml │ └── original.md ├── git-push │ ├── content.yaml │ └── original.md ├── git │ ├── content.yaml │ └── original.md ├── gitea-comment │ └── content.yaml ├── gitea-message │ └── content.yaml ├── gitea-release │ ├── content.yaml │ └── original.md ├── gitee-pulls │ ├── content.yaml │ ├── original.md │ └── original.zh-cn.md ├── github-app │ └── content.yaml ├── github-changelog-generator │ ├── content.yaml │ └── original.md ├── github-comment │ ├── content.yaml │ └── original.md ├── github-release │ ├── content.yaml │ └── original.md ├── github-search-downstream │ ├── content.yaml │ └── original.md ├── gitlab-ci │ ├── content.yaml │ └── original.md ├── gitleaks │ └── content.yaml ├── google-chat │ ├── content.yaml │ └── original.md ├── google-cloud-auth │ └── content.yaml ├── google-cloud-run │ └── content.yaml ├── gpgsign │ ├── content.yaml │ └── original.md ├── grafana-annotation │ ├── content.yaml │ └── original.md ├── gtalk │ ├── content.yaml │ └── original.md ├── harness-terraform │ └── content.yaml ├── helm-push │ └── content.yaml ├── helm │ ├── content.yaml │ └── original.md ├── helm3 │ ├── content.yaml │ └── original.md ├── heroku │ └── content.yaml ├── hg │ ├── content.yaml │ └── original.md ├── hugo │ ├── content.yaml │ └── original.md ├── image-migration │ └── content.yaml ├── instant-access │ ├── content.yaml │ └── original.md ├── irc │ └── content.yaml ├── java-maven │ ├── content.yaml │ └── original.md ├── jenkins │ ├── content.yaml │ └── original.md ├── jfrog-artifactory │ └── content.yaml ├── jira │ └── content.yaml ├── k8s │ ├── content.yaml │ └── original.md ├── kaniko-ecr │ └── content.yaml ├── kaniko │ ├── content.yaml │ └── original.md ├── kube │ ├── content.yaml │ └── original.md ├── kubernetes │ ├── content.yaml │ └── original.md ├── kubevious │ ├── content.yaml │ └── original.md ├── lambda │ ├── content.yaml │ └── original.md ├── line │ ├── content.yaml │ └── original.md ├── load-and-store │ ├── content.yaml │ └── original.md ├── manifest │ ├── content.yaml │ └── original.md ├── marathon │ ├── content.yaml │ └── original.md ├── matrix │ ├── content.yaml │ └── original.md ├── matrixchat-notify │ └── content.yaml ├── melange │ └── content.yaml ├── metronome │ ├── content.yaml │ └── original.md ├── mirror-plugin │ └── content.yaml ├── mvn-auth │ ├── content.yaml │ └── original.md ├── netlify │ ├── content.yaml │ └── original.md ├── newrelic-deployment │ ├── content.yaml │ └── original.md ├── nexus-publish │ └── content.yaml ├── nomad │ ├── content.yaml │ └── original.md ├── now │ ├── content.yaml │ └── original.md ├── npm-auth │ ├── content.yaml │ └── original.md ├── npm │ ├── content.yaml │ └── original.md ├── ntfy │ └── content.yaml ├── openfaas │ ├── content.yaml │ └── original.md ├── packer │ ├── content.yaml │ └── original.md ├── plugin-fossa │ └── content.yaml ├── plugin-kube │ ├── content.yaml │ └── original.md ├── probely │ └── content.yaml ├── pypi │ ├── content.yaml │ └── original.md ├── qodana-jvm-community-plugin │ ├── content.yaml │ └── original.md ├── rancher-stack-v1 │ ├── content.yaml │ └── original.md ├── rancher │ ├── content.yaml │ └── original.md ├── rds-snapper │ ├── content.yaml │ └── original.md ├── rocket │ ├── content.yaml │ └── original.md ├── rsync │ ├── content.yaml │ └── original.md ├── s3-cache │ ├── content.yaml │ └── original.md ├── s3-sync │ ├── content.yaml │ └── original.md ├── s3 │ ├── content.yaml │ └── original.md ├── scp │ ├── content.yaml │ └── original.md ├── serverchan │ ├── content.yaml │ └── original.md ├── sftp-cache │ ├── content.yaml │ └── original.md ├── slack-blame │ ├── content.yaml │ └── original.md ├── slack │ ├── content.yaml │ └── original.md ├── snyk │ └── content.yaml ├── sonar-node-plugin │ └── content.yaml ├── sonar-plugin │ ├── content.yaml │ └── original.md ├── ssh │ ├── content.yaml │ └── original.md ├── telegram │ ├── content.yaml │ └── original.md ├── terraform │ ├── content.yaml │ └── original.md ├── upx │ ├── content.yaml │ └── original.md ├── vercel-deploy │ └── content.yaml ├── volume-cache │ ├── content.yaml │ └── original.md ├── webdav │ ├── content.yaml │ └── original.md ├── webhook │ ├── content.yaml │ └── original.md ├── wechat-2 │ ├── content.yaml │ └── original.md └── wechat │ ├── content.yaml │ └── original.md ├── public ├── favicon.ico ├── icons │ ├── download.svg │ ├── rightArrow.svg │ ├── search.svg │ ├── sort.svg │ └── tick.svg ├── logo.png ├── logo.svg ├── logos │ ├── acr.svg │ ├── airbrake.svg │ ├── amazon_beanstalk.svg │ ├── amazon_cloudformation.svg │ ├── amazon_ecr.svg │ ├── amazon_ecs.svg │ ├── amazon_lambda.svg │ ├── amazon_rds.svg │ ├── amazon_s3.svg │ ├── ansible.svg │ ├── anynines.svg │ ├── apache_maven_logo.svg │ ├── apex-up.svg │ ├── artifactory.svg │ ├── backblaze-b2-logo.svg │ ├── bluemix.svg │ ├── buildah.png │ ├── capistrano.png │ ├── captains_log.svg │ ├── chainguard.svg │ ├── chef_supermarket.svg │ ├── circleci.png │ ├── clair.svg │ ├── cloud_run.svg │ ├── cloudflare.svg │ ├── cloudfoundry.svg │ ├── codacy.svg │ ├── codecov.svg │ ├── coveralls.svg │ ├── crowdin.svg │ ├── datadog.svg │ ├── deta.svg │ ├── dingtalk.svg │ ├── discord.svg │ ├── docker.svg │ ├── douban.svg │ ├── download.svg │ ├── drone.svg │ ├── drone_cache.svg │ ├── email.svg │ ├── facebook.svg │ ├── fandogh.svg │ ├── ftps.svg │ ├── git.svg │ ├── gitea.svg │ ├── gitee.svg │ ├── github.svg │ ├── gitlab.svg │ ├── gitleaks.png │ ├── gitter.svg │ ├── gnupg.svg │ ├── gohugo.svg │ ├── google-cloud.svg │ ├── google_gcf.svg │ ├── google_gcp.svg │ ├── google_gcr.svg │ ├── google_gcs.svg │ ├── grafana.svg │ ├── gtalk.svg │ ├── helm.svg │ ├── heroku.svg │ ├── instant_access.svg │ ├── irc.svg │ ├── jenkins.svg │ ├── jira.svg │ ├── kaniko.svg │ ├── kubernetes.svg │ ├── kubevious.svg │ ├── line.svg │ ├── marathon.svg │ ├── matrix.svg │ ├── maven.svg │ ├── mercurial.svg │ ├── metronome.svg │ ├── mirror-plugin.svg │ ├── netlify.svg │ ├── newrelic.svg │ ├── nomad.svg │ ├── now.svg │ ├── npm.svg │ ├── npm2.svg │ ├── ntfy.svg │ ├── openfaas.svg │ ├── packer.svg │ ├── probely.svg │ ├── pypi.svg │ ├── rancher.svg │ ├── rocket.chat.svg │ ├── rsync.svg │ ├── serverchan.svg │ ├── slack.svg │ ├── snyk.svg │ ├── sonarqube-icon.svg │ ├── sonarqube.svg │ ├── sonatype_nexus.png │ ├── telegram.svg │ ├── term.svg │ ├── terraform.svg │ ├── upx.svg │ ├── vercel-icon-dark.svg │ ├── volume_cache.svg │ ├── webhook.svg │ └── wechat.svg ├── pipeline.png ├── pipeline.svg └── vercel.svg ├── scripts └── buildPluginJson.mjs └── styles ├── 404.module.css ├── Card.module.css ├── Home.module.css ├── Layout.module.css ├── Plugin.module.css ├── globals.css └── utils.module.css /.drone.yml: -------------------------------------------------------------------------------- 1 | kind: pipeline 2 | name: lint & validate plugins 3 | type: docker 4 | 5 | steps: 6 | - name: lint & validate 7 | image: node:18-alpine 8 | commands: 9 | - npm ci 10 | - npm run lint 11 | - npm run validate 12 | - name: generate Plugins JSON 13 | image: node:18-alpine 14 | commands: 15 | - npm run gen-plugins-json 16 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["next/core-web-vitals", "prettier"] 3 | } 4 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | daysUntilStale: 30 2 | daysUntilClose: 5 3 | exemptLabels: 4 | - security 5 | staleLabel: wontfix 6 | markComment: > 7 | This issue has been automatically marked as stale because it has not had 8 | recent activity. It will be closed if no further activity occurs. Thank you 9 | for your contributions. 10 | closeComment: false -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "pwa-node", 9 | "request": "launch", 10 | "name": "Run Plugin JSON Generator", 11 | "skipFiles": [ 12 | "/**" 13 | ], 14 | "program": "${workspaceFolder}/scripts/buildPluginJson.mjs" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "yaml.schemas": { 3 | "./plugin-validation/plugin-schema.json": "content.yaml" 4 | }, 5 | "editor.defaultFormatter": "esbenp.prettier-vscode", 6 | "editor.formatOnSave": true 7 | } 8 | -------------------------------------------------------------------------------- /components/card.js: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import Image from "next/image"; 3 | import { useRouter } from "next/router"; 4 | import styles from "../styles/Card.module.css"; 5 | 6 | const Card = ({ pluginData }) => { 7 | const router = useRouter(); 8 | const { id, title, tags, logo } = pluginData; 9 | const href = `/plugins/${id}`; 10 | 11 | const handleClick = (e) => { 12 | e.preventDefault(); 13 | router.push(href); 14 | }; 15 | 16 | return ( 17 |
18 |
19 | {title} 20 |
21 | {tags?.length && ( 22 |
23 | {tags?.map((tag) => ( 24 |
25 | {tag} 26 |
27 | ))} 28 |
29 | )} 30 | {logo && ( 31 |
32 | {`${logo}`} 38 |
39 | )} 40 | {/* TODO: HARDCODED - needs to be fixed */} 41 | {/*
42 |
43 | download icon{" "} 49 | 140 installs 50 |
51 |
52 | download icon{" "} 58 | verified 59 |
60 |
*/} 61 |
62 | ); 63 | }; 64 | 65 | export default Card; 66 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "drone-plugin-index", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint", 10 | "validate": "node plugin-validation/validate.js", 11 | "gen-plugins-json": "node scripts/buildPluginJson.mjs" 12 | }, 13 | "dependencies": { 14 | "ajv": "^8.11.0", 15 | "filehound": "^1.17.6", 16 | "js-yaml": "^4.1.0", 17 | "next": "^13.5.6", 18 | "prismjs": "^1.26.0", 19 | "react": "^18.2.0", 20 | "react-dom": "^18.2.0" 21 | }, 22 | "devDependencies": { 23 | "eslint": "7.32.0", 24 | "eslint-config-next": "^13.0.5", 25 | "eslint-config-prettier": "^8.3.0", 26 | "prettier": "2.5.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /pages/404.js: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import styles from "../styles/404.module.css"; 3 | 4 | export default function Custom404() { 5 | return ( 6 |
7 |

404 - Page Not Found

8 | Drone Plugins Homepage 9 |
10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /pages/_app.js: -------------------------------------------------------------------------------- 1 | import "../styles/globals.css"; 2 | 3 | function MyApp({ Component, pageProps }) { 4 | return ; 5 | } 6 | 7 | export default MyApp; 8 | -------------------------------------------------------------------------------- /pages/_document.js: -------------------------------------------------------------------------------- 1 | import Document, { Html, Head, Main, NextScript } from "next/document"; 2 | 3 | export default class MyDocument extends Document { 4 | render() { 5 | return ( 6 | 7 | 8 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /pages/api/plugins/[id].js: -------------------------------------------------------------------------------- 1 | const plugins = require("./plugins.json"); 2 | 3 | export default function pluginByIdHandler(req, res) { 4 | switch (req.method) { 5 | case "GET": { 6 | const { id } = req.query; 7 | const plugin = plugins.find((i) => i.id === id); 8 | if (plugin) { 9 | return res.status(200).json(plugin); 10 | } else { 11 | res.status(404).json({ message: `Plugin with id: ${id} not found.` }); 12 | } 13 | break; 14 | } 15 | 16 | default: 17 | res.status(405).end(); 18 | break; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /pages/api/plugins/index.js: -------------------------------------------------------------------------------- 1 | const plugins = require("./plugins.json"); 2 | 3 | export default async function handler(req, res) { 4 | switch (req.method) { 5 | case "GET": 6 | res.status(200).json(plugins); 7 | break; 8 | default: 9 | res.status(405).end(); 10 | break; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pages/api/plugins/tags.js: -------------------------------------------------------------------------------- 1 | const plugins = require("./plugins.json"); 2 | 3 | export default function pluginByTagsHandler(req, res) { 4 | switch (req.method) { 5 | case "GET": { 6 | const { tags } = req.query; 7 | const splitTags = tags.split(","); 8 | if (splitTags && splitTags.length > 0) { 9 | const matchedPlugins = plugins.filter((p) => { 10 | return p.tags.some((pTag) => splitTags.some((sTag) => sTag === pTag)); 11 | }); 12 | if (matchedPlugins) { 13 | return res.status(200).json(matchedPlugins); 14 | } else { 15 | res.status(404).json({ message: `No plugins has tags ${tags}` }); 16 | } 17 | break; 18 | } 19 | } 20 | 21 | default: 22 | res.status(405).end(); 23 | break; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /plugin-validation/example-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Plugin example", 3 | "description": "Drone plugin example", 4 | "type": "object", 5 | "properties": { 6 | "kind": { 7 | "description": "The Drone YAML kind", 8 | "type": "string", 9 | "enum": ["pipeline", "secret", "signature", "template"] 10 | }, 11 | "name": { 12 | "description": "Drone YAML name", 13 | "type": "string" 14 | }, 15 | "steps": { 16 | "description": "Drone YAML steps", 17 | "type": "array", 18 | "items": { 19 | "type": "object", 20 | "properties": { 21 | "name": { 22 | "description": "Step name", 23 | "type": "string" 24 | }, 25 | "image": { 26 | "description": "Image name", 27 | "type": "string" 28 | }, 29 | "settings": { 30 | "description": "Plugin settings", 31 | "type": "object" 32 | } 33 | } 34 | }, 35 | "minItems": 1 36 | } 37 | }, 38 | "required": ["kind", "name", "steps"] 39 | } 40 | -------------------------------------------------------------------------------- /plugins/acr/content.yaml: -------------------------------------------------------------------------------- 1 | title: Azure container Registry 2 | author: drone-plugins 3 | tags: 4 | - publish 5 | - docker 6 | - azure 7 | logo: acr.svg 8 | repo: https://github.com/drone-plugins/drone-docker 9 | image: https://hub.docker.com/r/plugins/acr 10 | license: None 11 | readme: https://github.com/drone-plugins/drone-docker/blob/master/README.md 12 | description: | 13 | The ACR plugin can be used to build and publish images to the Azure ECR 14 | registry. 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: docker 21 | image: plugins/acr 22 | settings: 23 | service_principal_client_id: kevinbacon 24 | service_principal_client_secret: pa55word 25 | repo: foo/bar 26 | properties: 27 | registry: 28 | type: string 29 | defaultValue: azurecr.io 30 | description: authenticates to this registry 31 | secret: false 32 | required: false 33 | service_principal_client_id: 34 | type: string 35 | defaultValue: "" 36 | description: authenticates with this username 37 | secret: false 38 | required: false 39 | service_principal_client_secret: 40 | type: string 41 | defaultValue: "" 42 | description: authenticates with this password 43 | secret: true 44 | required: false 45 | repo: 46 | type: string 47 | defaultValue: "" 48 | description: repository name for the image 49 | secret: false 50 | required: false 51 | -------------------------------------------------------------------------------- /plugins/airbrake-deployment/content.yaml: -------------------------------------------------------------------------------- 1 | title: airbrake-deployment 2 | author: dhoeric 3 | tags: 4 | - airbrake 5 | - deployment 6 | repo: https://github.com/dhoeric/drone-airbrake-deployment 7 | image: https://hub.docker.com/r/dhoeric/drone-airbrake-deployment 8 | license: Apache License 2.0 9 | readme: https://github.com/dhoeric/drone-airbrake-deployment/blob/master/README.md 10 | description: Use the airbrake-deployment plugin to notify Airbrake of deployment in a certain environment. 11 | example: | 12 | kind: pipeline 13 | type: docker 14 | name: notify_airbrake 15 | 16 | steps: 17 | - name: airbrake 18 | image: dhoeric/drone-airbrake-deployment:latest 19 | settings: 20 | airbrake_environment: staging 21 | secrets: 22 | - airbrake_project_id 23 | - airbrake_project_key 24 | properties: 25 | airbrake_environment: 26 | type: string 27 | defaultValue: '' 28 | description: environment have been deployed in the drone build 29 | secret: false 30 | required: true 31 | secrets: 32 | type: array 33 | defaultValue: '' 34 | description: project ID of airbrake project & project API key of airbrake project 35 | secret: true 36 | required: true 37 | -------------------------------------------------------------------------------- /plugins/airbrake-deployment/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2018-06-27T00:00:00+00:00 4 | title: airbrake-deployment 5 | author: dhoeric 6 | tags: [ airbrake, deployment] 7 | repo: dhoeric/drone-airbrake-deployment 8 | image: dhoeric/drone-airbrake-deployment 9 | --- 10 | 11 | 12 | Use the airbrake-deployment plugin to [notify Airbrake a deployment in certain environment](https://airbrake.io/docs/features/deploy-tracking/). 13 | The below pipeline configuration demonstrates simple usage: 14 | 15 | ```yaml 16 | pipeline: 17 | notify_airbrake: 18 | image: dhoeric/drone-airbrake-deployment:0.0.1 19 | airbrake_environment: staging 20 | secrets: 21 | - airbrake_project_id 22 | - airbrake_project_key 23 | ``` 24 | 25 | # Parameter Reference 26 | 27 | airbrake_environment 28 | : environment have been deployed in the drone build 29 | 30 | 31 | # Secret Reference 32 | 33 | airbrake_project_id 34 | : project ID of airbrake project 35 | 36 | airbrake_project_key 37 | : project API key of airbrake project 38 | 39 | -------------------------------------------------------------------------------- /plugins/ansible/original.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/plugins/ansible/original.md -------------------------------------------------------------------------------- /plugins/anynines/content.yaml: -------------------------------------------------------------------------------- 1 | title: Anynines 2 | author: drone-plugins 3 | tags: 4 | - deploy 5 | - anynines 6 | - paas 7 | logo: anynines.svg 8 | repo: https://github.com/drone-plugins/drone-anynines 9 | image: https://hub.docker.com/r/plugins/anynines 10 | license: Apache License 2.0 11 | readme: https://github.com/drone-plugins/drone-anynines/blob/master/README.md 12 | description: This plugin deploys your application on the Anynines platform. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: anynines 19 | image: plugins/anynines 20 | settings: 21 | username: octocat@github.com 22 | password: password 23 | organization: octocat_github_com 24 | properties: 25 | username: 26 | type: string 27 | defaultValue: '' 28 | description: Username for Anynines auth. 29 | secret: false 30 | required: true 31 | password: 32 | type: string 33 | defaultValue: '' 34 | description: Password for Anynines auth. 35 | secret: true 36 | required: true 37 | organization: 38 | type: string 39 | defaultValue: '' 40 | description: Organization on Anynines. 41 | secret: false 42 | required: true 43 | space: 44 | type: string 45 | defaultValue: '' 46 | description: Space within Anynines organization. 47 | secret: false 48 | required: false 49 | skip_cleanup: 50 | type: boolean 51 | defaultValue: false 52 | description: Skip cleanup of workspace. 53 | secret: false 54 | required: false 55 | -------------------------------------------------------------------------------- /plugins/anynines/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2018-04-22T00:00:00+00:00 3 | title: Anynines 4 | author: drone-plugins 5 | tags: [ deploy, anynines, paas ] 6 | logo: anynines.svg 7 | repo: drone-plugins/drone-anynines 8 | image: plugins/anynines 9 | --- 10 | 11 | This plugin deploys your application on the [Anynines](https://www.anynines.com/) platform. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | steps: 15 | - name: anynines 16 | image: plugins/anynines 17 | settings: 18 | username: octocat@github.com 19 | password: password 20 | organization: octocat_github_com 21 | ``` 22 | 23 | Override the default space: 24 | 25 | ```yaml 26 | steps: 27 | - name: anynines 28 | image: plugins/anynines 29 | settings: 30 | username: octocat@github.com 31 | password: password 32 | organization: octocat_github_com 33 | space: development 34 | ``` 35 | 36 | Example configuration using secrets: 37 | 38 | ```yaml 39 | steps: 40 | - name: anynines 41 | image: plugins/anynines 42 | settings: 43 | username: 44 | from_secret: anynines_username 45 | password: 46 | from_secret: anynines_password 47 | organization: octocat_github_com 48 | ``` 49 | 50 | # Parameter Reference 51 | 52 | username 53 | : Username for Anynines auth 54 | 55 | password 56 | : Password for Anynines auth 57 | 58 | organization 59 | : Organization on Anynines 60 | 61 | space 62 | : Space within Anynines organization 63 | 64 | skip_cleanup 65 | : Skip cleanup of workspace -------------------------------------------------------------------------------- /plugins/apex-up/content.yaml: -------------------------------------------------------------------------------- 1 | title: Apex Up 2 | author: appleboy 3 | tags: 4 | - aws 5 | - deployment 6 | - up 7 | - lambda 8 | logo: apex-up.svg 9 | repo: https://github.com/appleboy/drone-apex-up 10 | image: https://hub.docker.com/r/appleboy/drone-apex-up 11 | license: MIT License 12 | readme: https://github.com/appleboy/drone-apex-up/blob/master/README.md 13 | description: This plugin can deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS using apex/up tool. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: apex-up 20 | image: appleboy/drone-apex-up 21 | settings: 22 | secrets: 23 | - aws_secret_access_key 24 | - aws_access_key_id 25 | stage: 26 | - staging 27 | - production 28 | properties: 29 | secrets: 30 | type: array 31 | defaultValue: '' 32 | description: AWS access key and secret access key. 33 | secret: true 34 | required: true 35 | directory: 36 | type: string 37 | defaultValue: '' 38 | description: Change working directory. 39 | secret: false 40 | required: false 41 | stage: 42 | type: array 43 | defaultValue: '' 44 | description: Target stage names - staging or production. 45 | secret: false 46 | required: true 47 | verbose: 48 | type: boolean 49 | defaultValue: true 50 | description: Enable verbose log output. 51 | secret: false 52 | required: false 53 | -------------------------------------------------------------------------------- /plugins/capistrano/content.yaml: -------------------------------------------------------------------------------- 1 | title: Capistrano 2 | author: glaszig 3 | tags: [ capistrano, deploy, ssh, ruby ] 4 | logo: capistrano.png 5 | repo: https://github.com/glaszig/drone-capistrano 6 | image: https://hub.docker.com/r/glaszig/drone-capistrano 7 | license: MIT License 8 | readme: https://github.com/glaszig/drone-capistrano/blob/master/README.md 9 | description: >- 10 | The Capistrano plugin deploys applications via the Capistrano ruby gem. 11 | example: | 12 | kind: pipeline 13 | name: default 14 | 15 | steps: 16 | - name: deploy production 17 | image: glaszig/drone-capistrano:2.7.4 18 | settings: 19 | tasks: production deploy deploy:restart 20 | private_key: 21 | from_secret: production_private_key 22 | public_key: 23 | from_secret: production_public_key 24 | environment: 25 | BUNDLE_PATH: vendor/bundle 26 | when: 27 | ref: 28 | - refs/tags/production-* 29 | properties: 30 | capistrano_private_key: 31 | type: string 32 | defaultValue: '' 33 | description: Private SSH deploy key 34 | secret: true 35 | required: true 36 | capistrano_public_key: 37 | type: string 38 | defaultValue: '' 39 | description: Public SSH deploy key 40 | secret: true 41 | required: true 42 | tasks: 43 | type: string 44 | defaultValue: '' 45 | description: The Capistrano tasks to run 46 | secret: false 47 | required: true 48 | -------------------------------------------------------------------------------- /plugins/capistrano/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2022-07-19T00:00:00+00:00 3 | title: Capistrano 4 | author: glaszig 5 | tags: [ capistrano, deploy, ssh, ruby ] 6 | logo: capistrano.png 7 | repo: glaszig/drone-capistrano 8 | image: glaszig/drone-capistrano 9 | --- 10 | 11 | The Capistrano plugin deploys applications via the Capistrano ruby gem. 12 | 13 | Example step configuration: 14 | 15 | ```yaml 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: deploy production 21 | image: glaszig/drone-capistrano:2.7.4 22 | settings: 23 | tasks: production deploy deploy:restart 24 | private_key: 25 | from_secret: production_private_key 26 | public_key: 27 | from_secret: production_public_key 28 | environment: 29 | BUNDLE_PATH: vendor/bundle 30 | when: 31 | ref: 32 | - refs/tags/production-* 33 | ``` 34 | 35 | # Parameter Reference 36 | 37 | capistrano_private_key 38 | : Private SSH deploy key 39 | 40 | capistrano_public_key 41 | : Public SSH deploy key 42 | 43 | tasks 44 | : The Capistrano tasks to run 45 | -------------------------------------------------------------------------------- /plugins/chef-supermarket/content.yaml: -------------------------------------------------------------------------------- 1 | title: Chef Supermarket 2 | author: jmccann 3 | tags: 4 | - publish 5 | - chef 6 | logo: chef_supermarket.svg 7 | repo: https://github.com/jmccann/drone-chef-supermarket 8 | image: https://hub.docker.com/r/jmccann/drone-chef-supermarket 9 | license: Apache License 2.0 10 | readme: https://github.com/jmccann/drone-chef-supermarket/blob/master/README.md 11 | description: >- 12 | The Chef Supermarket plugin can publish cookbooks to Supermarket (internal or 13 | public). 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: chef_supermarket 20 | image: jmccann/drone-chef-supermarket:1 21 | properties: 22 | user: 23 | type: string 24 | defaultValue: '' 25 | description: connects as this user 26 | secret: false 27 | required: false 28 | private_key: 29 | type: string 30 | defaultValue: '' 31 | description: private key contents to auth to server with 32 | secret: false 33 | required: false 34 | server: 35 | type: string 36 | defaultValue: https://supermarket.chef.io 37 | description: Supermarket server to connect to 38 | secret: false 39 | required: false 40 | ssl_verify: 41 | type: boolean 42 | defaultValue: true 43 | description: Enable/Disable SSL verify 44 | secret: false 45 | required: false 46 | -------------------------------------------------------------------------------- /plugins/chef-supermarket/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2016-01-01T00:00:00+00:00 4 | title: Chef Supermarket 5 | author: jmccann 6 | tags: [ publish, chef ] 7 | logo: chef_supermarket.svg 8 | repo: jmccann/drone-chef-supermarket 9 | image: jmccann/drone-chef-supermarket 10 | --- 11 | 12 | The Chef Supermarket plugin can publish cookbooks to Supermarket (internal or public). 13 | The below pipeline configuration demonstrates simple usage: 14 | 15 | ```yaml 16 | pipeline: 17 | chef_supermarket: 18 | image: jmccann/drone-chef-supermarket:1 19 | ``` 20 | 21 | The following example will upload the cookbook to supermarket server 22 | `https://supermarket.chef.io` using `jsmith`. 23 | 24 | ```yaml 25 | pipeline: 26 | chef_supermarket: 27 | image: jmccann/drone-chef-supermarket:1 28 | user: jsmith 29 | ``` 30 | 31 | This example will upload the cookbook to supermarket server 32 | `https://mysupermarket.corp.com` using `jsmith` skipping ssl verification. 33 | 34 | ```diff 35 | pipeline: 36 | chef_supermarket: 37 | image: jmccann/drone-chef-supermarket:1 38 | + server: https://mysupermarket.corp.com 39 | + ssl_verify: false 40 | + user: jsmith 41 | ``` 42 | 43 | # Parameter Reference 44 | 45 | user 46 | : connects as this user 47 | 48 | private_key 49 | : private key contents to auth to server with 50 | 51 | server 52 | : (default: `'https://supermarket.chef.io'`) Supermarket server to connect to 53 | 54 | ssl_verify 55 | : (default: `true`) Enable/Disable SSL verify 56 | -------------------------------------------------------------------------------- /plugins/circleci/content.yaml: -------------------------------------------------------------------------------- 1 | title: CircleCI 2 | author: wesleimp 3 | tags: 4 | - infrastructure 5 | - trigger 6 | - circleci 7 | logo: circleci.png 8 | repo: https://github.com/wesleimp/drone-circleci 9 | image: https://hub.docker.com/r/wesleimp/drone-circleci 10 | license: Apache License 2.0 11 | readme: https://github.com/wesleimp/drone-circleci/blob/master/README.md 12 | description: The CircleCI plugin allows you to trigger builds automatically. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: trigger circle-ci builds 19 | image: wesleimp/drone-circleci 20 | settings: 21 | token: xxxxxxxxxx 22 | user: octocat 23 | repo: hello-world 24 | branch: master 25 | properties: 26 | token: 27 | type: string 28 | defaultValue: '' 29 | description: CircleCI user token. 30 | secret: true 31 | required: false 32 | user: 33 | type: string 34 | defaultValue: '' 35 | description: CircleCI user. 36 | secret: true 37 | required: false 38 | repo: 39 | type: string 40 | defaultValue: '' 41 | description: CircleCI repo. 42 | secret: false 43 | required: false 44 | branch: 45 | type: string 46 | defaultValue: default 47 | description: CircleCI branch. 48 | secret: false 49 | required: false 50 | -------------------------------------------------------------------------------- /plugins/circleci/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2020-03-05T00:00:00+00:00 3 | title: CircleCI 4 | author: wesleimp 5 | tags: [ infrastructure, trigger, circleci ] 6 | logo: circleci.svg 7 | repo: wesleimp/drone-circleci 8 | image: wesleimp/drone-circleci 9 | --- 10 | 11 | The CircleCI plugin allows you to trigger builds automatically. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | - name: trigger circle-ci builds 15 | image: wesleimp/drone-circleci 16 | settings: 17 | token: xxxxxxxxxx 18 | user: octocat 19 | repo: hello-world 20 | branch: master 21 | ``` 22 | 23 | ## Parameter Reference 24 | 25 | token 26 | : circle-ci user token 27 | 28 | user 29 | : repository user 30 | 31 | repo 32 | : repository name 33 | 34 | branch 35 | : branch name (default is master) -------------------------------------------------------------------------------- /plugins/clair/content.yaml: -------------------------------------------------------------------------------- 1 | title: Clair 2 | author: jmccann 3 | tags: 4 | - docker 5 | - security 6 | logo: clair.svg 7 | repo: https://github.com/jmccann/drone-clair 8 | image: https://hub.docker.com/r/jmccann/drone-clair 9 | license: Apache License 2.0 10 | readme: https://github.com/jmccann/drone-clair/blob/master/README.md 11 | description: >- 12 | The Clair plugin submits your docker image to your 13 | Clair server to scan your docker image for security vulnerabilities. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: clair 20 | image: jmccann/drone-clair:1 21 | settings: 22 | url: http://clair.company.com 23 | username: johndoe 24 | password: mysecret 25 | scan_image: python:2.7 26 | properties: 27 | url: 28 | type: string 29 | defaultValue: '' 30 | description: Clair server URL 31 | secret: false 32 | required: false 33 | username: 34 | type: string 35 | defaultValue: '' 36 | description: Docker Registry username to download the `scan_image` from 37 | secret: false 38 | required: false 39 | password: 40 | type: string 41 | defaultValue: '' 42 | description: Docker Registry password to download the `scan_image` from 43 | secret: true 44 | required: false 45 | scan_image: 46 | type: string 47 | defaultValue: '' 48 | description: The docker image to scan. Supports Docker Hub or private repos. 49 | secret: false 50 | required: false 51 | -------------------------------------------------------------------------------- /plugins/cloudflare-caching/content.yaml: -------------------------------------------------------------------------------- 1 | title: Cloudflare Caching 2 | author: JetRails 3 | tags: 4 | - cloudflare 5 | - cache 6 | logo: cloudflare.svg 7 | repo: https://github.com/jetrails/drone-cloudflare-caching 8 | image: https://hub.docker.com/r/jetrails/drone-cloudflare-caching 9 | license: MIT License 10 | readme: https://github.com/jetrails/drone-cloudflare-caching/blob/master/README.md 11 | description: >- 12 | Our Drone plugin enables the ability for your pipeline to interface with 13 | Cloudflare's API to purge cache. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: cloudflare 20 | image: jetrails/drone-cloudflare-caching 21 | settings: 22 | api_token: 23 | from_secret: cloudflare_token 24 | zone_identifier: 25 | from_secret: cloudflare_zone_identifier 26 | action: purge_everything 27 | properties: 28 | api_token: 29 | type: string 30 | defaultValue: '' 31 | description: Cloudflare API token. 32 | secret: true 33 | required: true 34 | zone_identifier: 35 | type: string 36 | defaultValue: '' 37 | description: Cloudflare zone id. 38 | secret: false 39 | required: true 40 | action: 41 | type: string 42 | defaultValue: purge_everything 43 | description: What type of cache purge, options are purge_everything, purge_hosts, purge_files, purge_tags. 44 | secret: false 45 | required: true 46 | list: 47 | type: array 48 | defaultValue: '' 49 | description: List of values, could be valid hosts, tags, or files depending on action parameter value. 50 | secret: false 51 | required: false 52 | -------------------------------------------------------------------------------- /plugins/cloudflare-pages/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2023-04-19T00:00:00+00:00 3 | title: Cloudflare Pages 4 | author: mgzam-harness 5 | tags: [ publish, cloudflare, cloudflare-pages ] 6 | logo: cloudflare.svg 7 | repo: mahergzam/cloudflare-pages-plugin 8 | image: mgzamharness/cf-pages-drone-plugin 9 | --- 10 | 11 | The Cloudflare Pages plugin is used to publish static websites to Cloudflare Pages. The following configuration uses the cloudflare-pages plugin to publish a website, 12 | 13 | ```yaml 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: publish 19 | image: mgzamharness/cf-pages-drone-plugin 20 | settings: 21 | cloudflare_account_id: account-id 22 | cloudflare_api_token: api-token 23 | repo_url: https://github.com/mahergzam/cloudflare-pages-demo 24 | branch: main 25 | path: /public 26 | project_name: demo-project 27 | ``` 28 | 29 | Example configuration using credentials from named secrets: 30 | 31 | ```yaml 32 | steps: 33 | - name: publish 34 | image: mgzamharness/cf-pages-drone-plugin 35 | settings: 36 | cloudflare_account_id: 37 | from_secret: cloudflare_account_id 38 | cloudflare_api_token: 39 | from_secret: cloudflare_api_token 40 | repo_url: https://github.com/mahergzam/cloudflare-pages-demo 41 | branch: main 42 | path: /public 43 | project_name: demo-project 44 | ``` 45 | 46 | # Parameter Reference 47 | 48 | cloudflare_account_id 49 | : CloudFlare Account ID 50 | 51 | cloudflare_api_token 52 | : CloudFlare API Token for authentication 53 | 54 | repo_url 55 | : GitHub repo URL for code to publish 56 | 57 | branch 58 | : Cloudflare target branch 59 | 60 | path 61 | : The directory of content to publish 62 | 63 | project_name 64 | : The cloudflare project name 65 | -------------------------------------------------------------------------------- /plugins/codacy/content.yaml: -------------------------------------------------------------------------------- 1 | title: Codacy 2 | author: drone-plugins 3 | tags: 4 | - coverage 5 | logo: codacy.svg 6 | repo: https://github.com/drone-plugins/drone-codacy 7 | image: https://hub.docker.com/r/plugins/codacy 8 | license: Apache License 2.0 9 | readme: https://github.com/drone-plugins/drone-codacy/blob/master/README.md 10 | description: >- 11 | This plugin can upload coverage reports to Codacy, currently it's limited to Golang coverage reports. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: codacy 18 | image: plugins/codacy 19 | settings: 20 | token: your-codacy-token 21 | properties: 22 | token: 23 | type: string 24 | defaultValue: '' 25 | description: Codacy authentication token. 26 | secret: true 27 | required: true 28 | pattern: 29 | type: string 30 | defaultValue: '**/*.out' 31 | description: Coverage search pattern. 32 | secret: false 33 | required: false 34 | -------------------------------------------------------------------------------- /plugins/codacy/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2018-06-21T00:00:00+00:00 3 | title: Codacy 4 | author: drone-plugins 5 | tags: [ coverage ] 6 | logo: codacy.svg 7 | repo: drone-plugins/drone-codacy 8 | image: plugins/codacy 9 | --- 10 | 11 | This plugin can upload coverage reports to [Codacy](https://www.codacy.com/), currently it's limited to Golang coverage reports. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: codacy 19 | image: plugins/codacy 20 | settings: 21 | token: your-codacy-token 22 | 23 | ``` 24 | 25 | Override the default pattern: 26 | 27 | ```yaml 28 | steps: 29 | - name: codacy 30 | image: plugins/codacy 31 | settings: 32 | token: my-codacy-token 33 | pattern: pkg/foo/bar/*.out 34 | ``` 35 | 36 | Example configuration using secrets: 37 | 38 | ```yaml 39 | steps: 40 | - name: codacy 41 | image: plugins/codacy 42 | settings: 43 | token: 44 | from_secret: my_codacy_token 45 | ``` 46 | 47 | # Parameter Reference 48 | 49 | token 50 | : Token for Codacy authentication 51 | 52 | pattern 53 | : Coverage search pattern, defaults to `**/*.out` -------------------------------------------------------------------------------- /plugins/codecov/content.yaml: -------------------------------------------------------------------------------- 1 | title: Codecov 2 | author: robertstettner 3 | tags: 4 | - publish 5 | - codecov 6 | - test 7 | - coverage 8 | - reporting 9 | logo: codecov.svg 10 | repo: https://github.com/robertstettner/drone-codecov 11 | image: https://hub.docker.com/r/robertstettner/drone-codecov 12 | license: MIT License 13 | readme: https://github.com/robertstettner/drone-codecov/blob/master/README.md 14 | description: This plugin allows for pushing test coverage results to Codecov. 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: codecov 21 | image: robertstettner/drone-codecov 22 | settings: 23 | token: your-codacy-token 24 | properties: 25 | token: 26 | type: string 27 | defaultValue: '' 28 | description: Sets the private repository token. 29 | secret: true 30 | required: true 31 | files: 32 | type: array 33 | defaultValue: '' 34 | description: list of target files to upload. 35 | secret: false 36 | required: false 37 | flags: 38 | type: array 39 | defaultValue: '' 40 | description: flag the upload to group coverage metrics. 41 | secret: false 42 | required: false 43 | debug: 44 | type: boolean 45 | defaultValue: false 46 | description: enable debug mode. 47 | secret: false 48 | required: false 49 | -------------------------------------------------------------------------------- /plugins/codecov/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2017-07-19T00:00:00+00:00 4 | title: Codecov 5 | author: robertstettner 6 | tags: [ publish, codecov, test, coverage, reporting ] 7 | logo: codecov.svg 8 | repo: robertstettner/drone-codecov 9 | image: robertstettner/drone-codecov 10 | --- 11 | 12 | This plugin allows for pushing test coverage results to Codecov. The below pipeline configuration demonstrates simple usage: 13 | 14 | ```yaml 15 | pipeline: 16 | codecov: 17 | image: robertstettner/drone-codecov 18 | token: 00cb6d2b-debc-46c8-b5e4-43c728511247 19 | ``` 20 | 21 | Example configuration using credentials from secrets: 22 | 23 | ```diff 24 | pipeline: 25 | codecov: 26 | image: robertstettner/drone-codecov 27 | - token: 00cb6d2b-debc-46c8-b5e4-43c728511247 28 | + secrets: [ codecov_token ] 29 | ``` 30 | 31 | Example configuration for Unit and component tests: 32 | 33 | ```diff 34 | pipeline: 35 | unit_codecov: 36 | image: robertstettner/drone-codecov 37 | secrets: [ codecov_token ] 38 | + files: 39 | + - app1/coverage/unit/lcov.info 40 | + - app2/coverage/unit/lcov.info 41 | + flags: 42 | + - unit 43 | 44 | component_codecov: 45 | image: robertstettner/drone-codecov 46 | secrets: [ codecov_token ] 47 | + files: 48 | + - app1/coverage/component/lcov.info 49 | + - app2/coverage/component/lcov.info 50 | + flags: 51 | + - component 52 | ``` 53 | 54 | # Secret Reference 55 | 56 | codecov_token 57 | : authenticates with this token 58 | 59 | # Parameter Reference 60 | 61 | token 62 | : set the private repository token. Required. 63 | 64 | files 65 | : list of target files to upload. Optional. 66 | 67 | flags 68 | : flag the upload to group coverage metrics. Optional. 69 | 70 | debug 71 | : debug mode, defaults to `false`. 72 | -------------------------------------------------------------------------------- /plugins/coveralls/content.yaml: -------------------------------------------------------------------------------- 1 | title: Coveralls 2 | author: lizheming 3 | tags: 4 | - coverage 5 | - test 6 | - reporting 7 | - coveralls 8 | logo: coveralls.svg 9 | repo: https://github.com/lizheming/drone-coveralls 10 | image: https://hub.docker.com/r/lizheming/drone-coveralls 11 | license: MIT License 12 | readme: https://github.com/lizheming/drone-coveralls/blob/master/README.md 13 | description: This plugin can upload coverage reports to Coveralls. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: coveralls 20 | image: lizheming/drone-coveralls 21 | settings: 22 | token: 23 | from_secret: coveralls_token 24 | files: 25 | - ./lcov.info 26 | properties: 27 | files: 28 | type: array 29 | defaultValue: '' 30 | description: List of files to upload. 31 | secret: false 32 | required: true 33 | token: 34 | type: string 35 | defaultValue: '' 36 | description: if you have not set environment COVERALLS_REPO_TOKEN, you should set the private repository token. 37 | secret: true 38 | required: false 39 | debug: 40 | type: boolean 41 | defaultValue: false 42 | description: if you want to debug, set it to true. 43 | secret: false 44 | required: false -------------------------------------------------------------------------------- /plugins/coveralls/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2018-12-09T00:00:00+00:00 3 | title: Coveralls 4 | author: lizheming 5 | tags: [ coverage, test, reporting, coveralls ] 6 | repo: lizheming/drone-coveralls 7 | logo: coveralls.svg 8 | image: lizheming/drone-coveralls 9 | --- 10 | 11 | This plugin can upload coverage reports to [Coveralls](https://coveralls.io). The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | steps: 15 | - name: test 16 | image: node:alpine 17 | commands: 18 | - npm install 19 | - npm run test -- --reporter=text-lcov > ./lcov.info 20 | 21 | - name: coveralls 22 | image: lizheming/drone-coveralls 23 | settings: 24 | token: 25 | from_secret: coveralls_token 26 | files: 27 | - ./lcov.info 28 | ``` 29 | 30 | # Parameter Reference 31 | 32 | files 33 | : list of target files to upload. Required. 34 | 35 | token 36 | : if you have not set environment `COVERALLS_REPO_TOKEN`, you should set the private repository token. 37 | 38 | debug 39 | : debug mode, defaults to false. -------------------------------------------------------------------------------- /plugins/datadog/content.yaml: -------------------------------------------------------------------------------- 1 | title: Datadog 2 | author: masci 3 | tags: 4 | - monitoring 5 | - datadog 6 | logo: datadog.svg 7 | repo: https://github.com/masci/drone-datadog 8 | image: https://hub.docker.com/r/masci/drone-datadog 9 | license: BSD 2-Clause 'Simplified' License 10 | readme: https://github.com/masci/drone-datadog/blob/master/README.md 11 | description: >- 12 | The plugin can be used to send events and metrics to Datadog from a drone 13 | pipeline. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: count-pipeline 20 | image: masci/drone-datadog 21 | settings: 22 | api_key: 23 | from_secret: datadog_api_key 24 | metrics: 25 | - type: "count" 26 | name: "masci.pipelines.count" 27 | value: 1.0 28 | tags: ["project:${DRONE_REPO_NAME}", "branch:${DRONE_BRANCH}"] 29 | properties: 30 | api_key: 31 | type: string 32 | defaultValue: '' 33 | description: Datadog API key. 34 | secret: true 35 | required: false 36 | dry_run: 37 | type: boolean 38 | defaultValue: false 39 | description: When set to true, the plugin only computes metrics and events without sending anything to the Datadog intake. When the plugin runs in dry mode, it doesn't require an api_key to be set, useful for testing. 40 | secret: false 41 | required: false 42 | metrics: 43 | type: array 44 | defaultValue: [] 45 | description: A list of metrics to be sent to Datadog. A metric must have a name and a value; type defaults to gauge; tags and hostname are optional. 46 | secret: false 47 | required: false 48 | events: 49 | type: array 50 | defaultValue: [] 51 | description: A list of events to be sent to Datadog. An event must have a title and a text; alert_type defaults to info. 52 | secret: false 53 | required: false 54 | -------------------------------------------------------------------------------- /plugins/dco/content.yaml: -------------------------------------------------------------------------------- 1 | title: DCO 2 | author: algernon 3 | tags: 4 | - analysis 5 | - report 6 | - test 7 | repo: https://git.madhouse-project.org/algernon/drone-plugin-dco 8 | image: https://hub.docker.com/r/algernon/drone-plugin-dco 9 | license: GNU General Public License v3.0 10 | readme: https://git.madhouse-project.org/algernon/drone-plugin-dco/src/branch/master/README.md 11 | description: The DCO plugin enforces the Developer Certificate of Origin. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: dco 18 | image: algernon/drone-plugin-dco 19 | properties: 20 | debug: 21 | type: boolean 22 | defaultValue: false 23 | description: whether to enable debug mode. 24 | secret: false 25 | required: false 26 | -------------------------------------------------------------------------------- /plugins/dco/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2018-09-14T00:00:00+00:00 3 | title: drone-plugin-dco 4 | author: algernon 5 | tags: [ test ] 6 | logo: term.svg 7 | repo: https://git.madhouse-project.org/algernon/drone-plugin-dco 8 | image: algernon/drone-plugin-dco 9 | --- 10 | 11 | The `drone-plugin-dco` plugin can be used to enforce the [Developer Certificate of Origin][dco], by making sure that all commits conform to it. It verifies both that a `Signed-off-by` line is present, and that it is signed off by the commit author. Multiple signed-off lines are supported, but the plugin only verifies that the commit author is among them, it does not attempt to verify the rest. 12 | 13 | [drone]: https://drone.io/ 14 | [dco]: https://developercertificate.org/ 15 | 16 | The pipeline below demonstrates its usage: 17 | 18 | ```yaml 19 | pipeline: 20 | dco: 21 | image: algernon/drone-plugin-dco 22 | ``` 23 | 24 | If, for some reason the plugin misbehaves, or fails with an error, one can turn on debugging before reporting the problem: 25 | 26 | ```diff 27 | pipeline: 28 | dco: 29 | image: algernon/drone-plugin-dco 30 | + debug: true 31 | ``` 32 | 33 | # Parameter Reference 34 | 35 | debug 36 | : Enable debug logging, for the purpose of reporting errors. 37 | 38 | # Limitations 39 | 40 | The plugin only works with git-based repositories at the moment. 41 | -------------------------------------------------------------------------------- /plugins/deta/content.yaml: -------------------------------------------------------------------------------- 1 | title: Deta 2 | author: lizheming 3 | tags: 4 | - deploy 5 | - deta 6 | logo: deta.svg 7 | repo: https://github.com/lizheming/drone-deta 8 | image: https://hub.docker.com/r/lizheming/drone-deta 9 | license: MIT License 10 | readme: https://github.com/lizheming/drone-deta/blob/master/README.md 11 | description: | 12 | The Deta plugin deploy your build to deta.sh(https://deta.sh). 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: deta 19 | image: lizheming/drone-deta 20 | settings: 21 | access_token: 22 | from_secret: deta_access_token 23 | name: test-name 24 | project: default 25 | 26 | properties: 27 | access_token: 28 | type: string 29 | defaultValue: '' 30 | description: | 31 | Deta access token. 32 | How to get Deta access token? https://docs.deta.sh/docs/cli/auth#deta-access-tokens 33 | secret: true 34 | required: false 35 | name: 36 | type: string 37 | defaultValue: '' 38 | description: Deta micro name 39 | secret: false 40 | required: true 41 | project: 42 | type: string 43 | defaultValue: 'default' 44 | description: Deta project name 45 | secret: false 46 | required: false 47 | project_dir: 48 | type: string 49 | defaultValue: '.' 50 | description: irectory of the project 51 | secret: false 52 | required: false -------------------------------------------------------------------------------- /plugins/deta/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2021-11-07T00:00:00+00:00 3 | title: Deta 4 | author: lizheming 5 | tags: [ deploy, deta ] 6 | repo: lizheming/drone-deta 7 | logo: deta.svg 8 | image: lizheming/drone-deta 9 | --- 10 | 11 | The Deta plugin deploy your build to [deta.sh](https://deta.sh). 12 | 13 | The below pipeline configuration demonstrates simple usage: 14 | 15 | ```yml 16 | steps: 17 | - name: deta 18 | image: lizheming/drone-deta 19 | settings: 20 | access_token: 21 | from_secret: deta_access_token 22 | name: test-name 23 | project: default 24 | ``` 25 | 26 | # Parameter Reference 27 | 28 | access_token: Deta access token. [How to get Deta access token?](https://docs.deta.sh/docs/cli/auth#deta-access-tokens) 29 | 30 | name: Deta micro name 31 | 32 | project: Deta project name, default is "default". 33 | 34 | project_dir: Directory of the project, default is ".". -------------------------------------------------------------------------------- /plugins/diagnostics/content.yaml: -------------------------------------------------------------------------------- 1 | title: diagnostics 2 | author: drone-plugins 3 | tags: 4 | - diagnostics 5 | logo: drone.svg 6 | repo: https://github.com/drone-plugins/drone-diagnostics 7 | image: https://hub.docker.com/r/plugins/drone-diagnostics 8 | license: Apache License 2.0 9 | readme: https://github.com/drone-plugins/drone-diagnostics/blob/main/README.md 10 | description: A plugin with cli network tools (dig / ping / traceroute) to diagnose issues in a build. It does not accept any properties. 11 | example: | 12 | kind: pipeline 13 | name: default 14 | 15 | clone: 16 | disable: true 17 | 18 | steps: 19 | - name: run plugins/drone-diagnostics plugin 20 | image: plugins/drone-diagnostics 21 | pull: if-not-exists 22 | commands: 23 | - env 24 | - ping www.github.com -w 5 25 | - traceroute -T -p 443 www.github.com 26 | - dig www.apple.com 27 | - echo "end of test" 28 | -------------------------------------------------------------------------------- /plugins/dingtalk-message/content.yaml: -------------------------------------------------------------------------------- 1 | title: DingTalk 2 | author: lddsb 3 | tags: 4 | - notifications 5 | - chat 6 | logo: dingtalk.svg 7 | repo: https://github.com/lddsb/drone-dingtalk-message 8 | image: https://hub.docker.com/r/lddsb/drone-dingtalk-message 9 | license: MIT License 10 | readme: https://github.com/lddsb/drone-dingtalk-message/blob/master/README.md 11 | description: The DingTalk can be used to send a message by DingTalk group robot. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: dingtalk 18 | image: lddsb/drone-dingtalk-message 19 | settings: 20 | token: your-dingtalk-robot-access-token 21 | type: markdown 22 | properties: 23 | token: 24 | type: string 25 | defaultValue: '' 26 | description: you can get the access token when you add a bot in a group. 27 | secret: true 28 | required: true 29 | type: 30 | type: string 31 | defaultValue: '' 32 | description: dingtalk message type, markdown is the best type now. 33 | secret: false 34 | required: true 35 | message_color: 36 | type: boolean 37 | defaultValue: false 38 | description: color the title and content for easier identification. 39 | secret: false 40 | required: false 41 | message_pic: 42 | type: boolean 43 | defaultValue: false 44 | description: insert a picture into a message to make the content richer. 45 | secret: false 46 | required: false 47 | sha_link: 48 | type: boolean 49 | defaultValue: false 50 | description: sha as a link to click to the source code page. 51 | secret: false 52 | required: false -------------------------------------------------------------------------------- /plugins/discord/content.yaml: -------------------------------------------------------------------------------- 1 | title: Discord 2 | author: appleboy 3 | tags: 4 | - notifications 5 | - chat 6 | logo: discord.svg 7 | repo: https://github.com/appleboy/drone-discord 8 | image: https://hub.docker.com/r/appleboy/drone-discord 9 | license: MIT License 10 | readme: https://github.com/appleboy/drone-discord/blob/master/README.md 11 | description: The discord plugin posts build status messages to discord channel. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: discord notification 18 | image: appleboy/drone-discord 19 | settings: 20 | webhook_id: xxxxxxxxxx 21 | webhook_token: xxxxxxxxxx 22 | properties: 23 | webhook_id: 24 | type: string 25 | defaultValue: '' 26 | description: discord webhook id. 27 | secret: true 28 | required: true 29 | webhook_token: 30 | type: string 31 | defaultValue: '' 32 | description: discord webhook token. 33 | secret: true 34 | required: true 35 | avatar_url: 36 | type: string 37 | defaultValue: '' 38 | description: override the default avatar of the webhook. 39 | secret: false 40 | required: false 41 | username: 42 | type: string 43 | defaultValue: '' 44 | description: override the default username of the webhook. 45 | secret: false 46 | required: false 47 | tts: 48 | type: boolean 49 | defaultValue: false 50 | description: enable text-to-speech. 51 | secret: false 52 | required: false 53 | message: 54 | type: string 55 | defaultValue: '' 56 | description: the message contents (up to 2000 characters). 57 | secret: false 58 | required: false -------------------------------------------------------------------------------- /plugins/doumark/content.yaml: -------------------------------------------------------------------------------- 1 | title: Doumark 2 | author: lizheming 3 | tags: 4 | - douban 5 | - notion 6 | - sync 7 | logo: douban.svg 8 | repo: https://github.com/lizheming/drone-doumark 9 | image: https://hub.docker.com/r/lizheming/drone-doumark 10 | license: MIT License 11 | readme: https://github.com/lizheming/drone-doumark/blob/master/README.md 12 | description: | 13 | Drone plugin for Douban(https://douban.com) movie/book/music marked data sync automatically. 14 | example: | 15 | kind: pipeline 16 | type: docker 17 | name: default 18 | 19 | clone: 20 | disable: true 21 | 22 | steps: 23 | - name: douban 24 | image: lizheming/drone-doumark 25 | settings: 26 | id: lizheming 27 | type: movie 28 | format: notion 29 | notion_token: xxxxxx 30 | dir: xxxxxx 31 | 32 | properties: 33 | id: 34 | type: string 35 | defaultValue: '' 36 | description: Douban ID 37 | secret: false 38 | required: true 39 | 40 | type: 41 | type: string 42 | defaultValue: 'movie' 43 | description: | 44 | Douban data Type, enum value: movie, book, music 45 | secret: false 46 | required: false 47 | 48 | format: 49 | type: string 50 | defaultValue: 'csv' 51 | description: | 52 | Douban data store format, enum value: csv, json, notion 53 | secret: false 54 | required: false 55 | 56 | dir: 57 | type: string 58 | defaultValue: '' 59 | description: Target where douban data sync to. It's a file path for csv and json format, and a notion database id for notion format. 60 | secret: false 61 | required: true 62 | 63 | notion_token: 64 | type: string 65 | defaultValue: '' 66 | description: Notion Integration Token 67 | secret: true 68 | required: false -------------------------------------------------------------------------------- /plugins/download/content.yaml: -------------------------------------------------------------------------------- 1 | title: Download 2 | author: drone-plugins 3 | tags: 4 | - download 5 | - tarball 6 | - archive 7 | - retrieve 8 | logo: download.svg 9 | repo: https://github.com/drone-plugins/drone-download 10 | image: https://hub.docker.com/r/plugins/download 11 | license: Apache License 2.0 12 | readme: https://github.com/drone-plugins/drone-download/blob/master/README.md 13 | description: >- 14 | Use the Download plugin to download archives required for your builds, it also 15 | integrates a secure way to inject basic authentication credentials and 16 | checking by md5 or sha256 checksums. 17 | example: | 18 | kind: pipeline 19 | name: default 20 | 21 | steps: 22 | - name: download 23 | image: plugins/download 24 | settings: 25 | source: https://github.com/drone/drone-cli/releases/download/v0.8.5/drone_linux_amd64.tar.gz 26 | properties: 27 | source: 28 | type: string 29 | defaultValue: '' 30 | description: The source URL for the download. 31 | secret: false 32 | required: true 33 | destination: 34 | type: string 35 | defaultValue: '' 36 | description: The destination path for the download. 37 | secret: false 38 | required: false 39 | username: 40 | type: string 41 | defaultValue: '' 42 | description: The username for basic auth. 43 | secret: true 44 | required: false 45 | password: 46 | type: string 47 | defaultValue: '' 48 | description: The password for basic auth. 49 | secret: true 50 | required: false 51 | skip_verify: 52 | type: boolean 53 | defaultValue: false 54 | description: Skip SSL verification. 55 | secret: false 56 | required: false 57 | md5: 58 | type: string 59 | defaultValue: '' 60 | description: The md5 checksum. 61 | secret: false 62 | required: false 63 | sha256: 64 | type: string 65 | defaultValue: '' 66 | description: The sha256 checksum. 67 | secret: false 68 | required: false -------------------------------------------------------------------------------- /plugins/dron8s/content.yaml: -------------------------------------------------------------------------------- 1 | title: Dron8s 2 | author: bh90210 3 | tags: 4 | - kubernetes 5 | - apply 6 | logo: kubernetes.svg 7 | repo: https://github.com/bh90210/dron8s 8 | image: https://hub.docker.com/r/bh90210/dron8s 9 | license: The Unlicense 10 | readme: https://github.com/bh90210/dron8s/blob/main/README.md 11 | description: Yet another Kubernetes plugin for Drone using dynamic Server Side Apply to achieve `kubectl apply -f multi-configs.yaml` parity for your CI-CD pipelines. 12 | example: | 13 | kind: pipeline 14 | type: docker 15 | name: dron8s-out-of-cluster-example 16 | 17 | steps: 18 | - name: dron8s 19 | image: ghcr.io/bh90210/dron8s:latest 20 | settings: 21 | yaml: ./config.yaml 22 | kubeconfig: 23 | from_secret: kubeconfig 24 | properties: 25 | yaml: 26 | type: string 27 | defaultValue: '' 28 | description: Yaml containing configs 29 | secret: false 30 | required: true 31 | kubeconfig: 32 | type: string 33 | defaultValue: '' 34 | description: Needed for out-of-cluster use. If not present plugin will default to in-cluster configuration. You can find kubeconfig under ~/.kube/config 35 | secret: false 36 | required: false 37 | -------------------------------------------------------------------------------- /plugins/ecs/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2016-01-18T00:00:00+00:00 4 | title: AWS ECS 5 | author: josmo 6 | tags: [ deploy, amazon, aws, ecs, docker ] 7 | logo: amazon_ecs.svg 8 | repo: josmo/drone-ecs 9 | image: pelotech/drone-ecs 10 | --- 11 | 12 | The ECS plugin can be used to deploy a Docker image to an ECS environment. The following pipeline configuration uses the ECS plugin to deploy a Docker image to an ECS service: 13 | 14 | ```yaml 15 | pipeline: 16 | ecs: 17 | image: pelotech/drone-ecs 18 | access_key: superaccesskey 19 | secret_key: supersecretkey 20 | service: service1 21 | region: us-west-2 22 | family: my-ecs-task 23 | image_name: namespace/repo 24 | image_tag: latest 25 | environment_variables: 26 | - DATABASE_URI=database uri 27 | port_mappings: 28 | - 80 9000 29 | memory: 128 30 | ``` 31 | 32 | # Parameter Reference 33 | 34 | access_key 35 | : aws access key 36 | 37 | secret_key 38 | : aws secret key 39 | 40 | service 41 | : ecs service on that environment to upgrade 42 | 43 | region 44 | : aws region you're using 45 | 46 | family 47 | : ecs task 48 | 49 | image_name 50 | : docker image to use 51 | 52 | image_tag 53 | : tag for the docker image to use 54 | 55 | environment_variables: 56 | : list of environment variables to pass to ecs 57 | 58 | port_mappings 59 | : port mappings for ecs 60 | 61 | memory 62 | : memory to assign to the service 63 | 64 | 65 | -------------------------------------------------------------------------------- /plugins/elastic-beanstalk/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2016-01-13T00:00:00+00:00 4 | title: AWS Elastic Beanstalk 5 | author: josmo 6 | tags: [ deploy, amazon, aws, elastic beanstalk ] 7 | logo: amazon_beanstalk.svg 8 | repo: josmo/drone-elastic-beanstalk 9 | image: pelotech/drone-elastic-beanstalk 10 | --- 11 | 12 | The Elastic Beanstalk plugin can be used to deploy an app to a Beanstalk environment. The following pipeline configuration uses the Beanstalk plugin to deploy an app: 13 | 14 | ```yaml 15 | pipeline: 16 | beanstalk: 17 | image: pelotech/drone-elastic-beanstalk 18 | access_key: 970d28f4dd477bc184fbd10b376de753 19 | secret_key: 9c5785d3ece6a9cdefa42eb99b58986f9095ff1c 20 | region: us-east-1 21 | version_label: v1 22 | description: Deployed with DroneCI 23 | auto_create: true 24 | bucket_name: my-bucket-name 25 | bucket_key: 970d28f4dd477bc184fbd10b376de753 26 | ``` 27 | 28 | # Parameter Reference 29 | 30 | access_key 31 | : aws access key 32 | 33 | secret_key 34 | : aws secret key 35 | 36 | region 37 | : AWS region 38 | 39 | version_label 40 | : Label to identify this version 41 | 42 | application 43 | : Application name, defaults to repo name 44 | 45 | description 46 | : A description about the deployment, optional 47 | 48 | auto_create 49 | : Automatically create the application, defaults to false 50 | 51 | process 52 | : Preprocess and validate the manifest, defaults to false 53 | 54 | bucket_name 55 | : Bucket for S3 source bundle 56 | 57 | bucket_key 58 | : Key for S3 source bundle 59 | 60 | environment_update 61 | : Flag whether to update ElasticBeansTalk environment with the new version 62 | 63 | environment_name 64 | : Environment Name (optional), if update_environment true 65 | -------------------------------------------------------------------------------- /plugins/fandogh/content.yaml: -------------------------------------------------------------------------------- 1 | title: Fandogh 2 | author: amirbagh75 3 | tags: 4 | - paas 5 | - fandogh 6 | logo: fandogh.svg 7 | repo: https://github.com/amirbagh75/fandogh-drone 8 | image: https://hub.docker.com/r/amirbagh75/fandogh-drone 9 | license: None 10 | readme: https://github.com/ohmydevops/fandogh-drone/blob/master/README.md 11 | description: >- 12 | This plugin can help you to easy delivery your new docker images to fandogh PaaS. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: fandogh 19 | image: amirbagh75/fandogh-drone:latest 20 | settings: 21 | username: 22 | from_secret: fandoghuser 23 | password: 24 | from_secret: fandoghpass 25 | version: ${DRONE_COMMIT} 26 | registry: "myregistry.com:5000" ## optional 27 | manifest_path: ./fandogh.yml 28 | properties: 29 | username: 30 | type: string 31 | defaultValue: '' 32 | description: Fandogh username. 33 | secret: true 34 | required: false 35 | password: 36 | type: string 37 | defaultValue: '' 38 | description: Fandogh password. 39 | secret: true 40 | required: false 41 | version: 42 | type: string 43 | defaultValue: '' 44 | description: version id. 45 | secret: false 46 | required: false 47 | registry: 48 | type: string 49 | defaultValue: '' 50 | description: registry url. 51 | secret: false 52 | required: false 53 | manifest_path: 54 | type: string 55 | defaultValue: '' 56 | description: manifest path. 57 | secret: false 58 | required: false 59 | -------------------------------------------------------------------------------- /plugins/fandogh/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2020-04-16T00:00:00+00:00 3 | title: Fandogh 4 | author: amirbagh75 5 | tags: [ paas, fandogh ] 6 | repo: amirbagh75/fandogh-drone 7 | logo: fandogh.svg 8 | image: amirbagh75/fandogh-drone 9 | --- 10 | 11 | This plugin can help you to easy delivery your new docker images to [fandogh PaaS](https://www.fandogh.cloud/). The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | - name: update-fandogh-deployment 15 | image: amirbagh75/fandogh-drone:latest 16 | settings: 17 | username: amirbagh75 18 | password: 123456789 19 | version: ${DRONE_COMMIT} 20 | manifest_path: ./fandogh.yml 21 | ``` 22 | 23 | Example configuration using secrets: 24 | 25 | ```yaml 26 | - name: update-fandogh-deployment 27 | image: amirbagh75/fandogh-drone:latest 28 | settings: 29 | username: 30 | from_secret: fandogh_username 31 | password: 32 | from_secret: fandogh_password 33 | version: ${DRONE_COMMIT} 34 | manifest_path: ./fandogh.yml 35 | ``` 36 | 37 | # Parameter Reference 38 | 39 | username 40 | : fandogh account username 41 | 42 | password 43 | : fandogh password username 44 | 45 | version 46 | : new docker image tag. In this example, I considered the commit ID as a new docker image tag. 47 | 48 | manifest_path 49 | : fandogh manifest file address. I considered in the root directory of project. (read more [here](https://docs.fandogh.cloud/docs/service-manifest.html).) -------------------------------------------------------------------------------- /plugins/gar/content.yaml: -------------------------------------------------------------------------------- 1 | title: Google Artifact Registry 2 | author: drone-plugins 3 | tags: 4 | - publish 5 | - docker 6 | - google 7 | - gcp 8 | - gar 9 | logo: google_gcr.svg 10 | repo: https://github.com/drone-plugins/drone-docker 11 | image: https://hub.docker.com/r/plugins/gar 12 | license: None 13 | readme: https://github.com/drone-plugins/drone-docker/blob/master/README.md 14 | description: | 15 | The GAR plugin can be used to build and publish images to the Google Artifact Registry. 16 | example: | 17 | kind: pipeline 18 | name: default 19 | 20 | steps: 21 | - name: publish 22 | image: plugins/gar 23 | settings: 24 | repo: project-id/repo/image-name 25 | registry: europe-docker.pkg.dev 26 | tags: latest 27 | json_key: 28 | from_secret: google_credentials 29 | properties: 30 | registry: 31 | type: string 32 | defaultValue: "" 33 | description: authenticates to this registry 34 | secret: false 35 | required: true 36 | repo: 37 | type: string 38 | defaultValue: "" 39 | description: repository name for the image including project ID 40 | secret: false 41 | required: false 42 | json_key: 43 | type: string 44 | defaultValue: "" 45 | description: json key - can be inline or base64 encoded 46 | secret: true 47 | required: true 48 | workload_identity: 49 | type: boolean 50 | defaultValue: false 51 | description: flag if key is a workload identity key 52 | secret: false 53 | required: false 54 | -------------------------------------------------------------------------------- /plugins/gcp-oidc/content.yaml: -------------------------------------------------------------------------------- 1 | title: GCP OIDC 2 | author: harness 3 | tags: 4 | - oidc 5 | - gcp 6 | - gcloud 7 | repo: https://github.com/harness-community/drone-gcp-oidc 8 | image: https://hub.docker.com/r/plugins/gcp-oidc/ 9 | license: MIT License 10 | readme: https://github.com/harness-community/drone-gcp-oidc/blob/main/README.md 11 | description: This plugin generates and outputs a GCP Access Token using the OIDC flow. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | steps: 16 | - steps: 17 | name: gcp_oidc 18 | image: plugins/gcp-oidc 19 | settings: 20 | project_id: 22819301 21 | pool_id: d8291ka22 22 | service_account_email_id: test-gcp@harness.io 23 | provider_id: svr-account1 24 | duration: 7200 25 | properties: 26 | project_id: 27 | type: string 28 | defaultValue: none 29 | description: GCP Project ID 30 | secret: false 31 | required: true 32 | pool_id: 33 | type: string 34 | defaultValue: none 35 | description: GCP Workload Identity Pool ID 36 | secret: false 37 | required: true 38 | provider_id: 39 | type: string 40 | defaultValue: none 41 | description: GCP Workload Identity Provider ID 42 | secret: false 43 | required: true 44 | service_account_email_id: 45 | type: string 46 | defaultValue: none 47 | description: GCP Service Account Email ID 48 | secret: false 49 | required: true 50 | oidc_token_id: 51 | type: string 52 | defaultValue: none 53 | description: OIDC Token (can also be set as a stage variable - PLUGIN_OIDC_TOKEN_ID) 54 | secret: true 55 | required: true 56 | duration: 57 | type: string 58 | defaultValue: 3600 59 | description: Duration for which the token is valid (in seconds) 60 | secret: false 61 | required: false 62 | -------------------------------------------------------------------------------- /plugins/gcr/content.yaml: -------------------------------------------------------------------------------- 1 | title: Google Container Registry 2 | author: drone-plugins 3 | tags: 4 | - publish 5 | - docker 6 | - google 7 | - gcp 8 | - gcr 9 | logo: google_gcr.svg 10 | repo: https://github.com/drone-plugins/drone-docker 11 | image: https://hub.docker.com/r/plugins/gcr 12 | license: None 13 | readme: https://github.com/drone-plugins/drone-docker/blob/master/README.md 14 | description: | 15 | The GCR plugin can be used to build and publish images to the Google Container Registry. 16 | example: | 17 | kind: pipeline 18 | name: default 19 | 20 | steps: 21 | - name: publish 22 | image: plugins/gcr 23 | settings: 24 | repo: project/foo 25 | tags: latest 26 | json_key: 27 | from_secret: google_credentials 28 | properties: 29 | registry: 30 | type: string 31 | defaultValue: gcr.io 32 | description: authenticates to this registry 33 | secret: false 34 | required: false 35 | repo: 36 | type: string 37 | defaultValue: "" 38 | description: repository name for the image 39 | secret: false 40 | required: false 41 | json_key: 42 | type: string 43 | defaultValue: "" 44 | description: json key - can be inline or base64 encoded 45 | secret: true 46 | required: true 47 | workload_identity: 48 | type: boolean 49 | defaultValue: false 50 | description: flag if key is a workload identity key 51 | secret: false 52 | required: false 53 | -------------------------------------------------------------------------------- /plugins/gcs-2/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2017-04-14T00:00:00Z 4 | title: Google Cloud Storage 5 | author: wyattjoh 6 | tags: [ publish, google, gcp, gcs, storage ] 7 | logo: google_gcs.svg 8 | repo: wyattjoh/drone-gcs 9 | image: wyattjoh/drone-gcs 10 | --- 11 | 12 | The Google Cloud Storage plugin uploads files and build artifacts to your 13 | Google Cloud Storage bucket. The below pipeline configuration demonstrates 14 | simple usage: 15 | 16 | ```yaml 17 | pipeline: 18 | gcs: 19 | image: wyattjoh/drone-gcs 20 | acl: public 21 | bucket: "my-bucket-name" 22 | source: public/**/* 23 | strip_prefix: public/ 24 | target: /target/location 25 | ``` 26 | 27 | Enable compression: 28 | 29 | ```diff 30 | pipeline: 31 | gcs: 32 | image: wyattjoh/drone-gcs 33 | acl: public 34 | bucket: "my-bucket-name" 35 | source: public/**/* 36 | strip_prefix: public/ 37 | + compress: true 38 | target: /target/location 39 | ``` 40 | 41 | Exclude files from upload: 42 | 43 | ```diff 44 | pipeline: 45 | gcs: 46 | image: wyattjoh/drone-gcs 47 | acl: public 48 | bucket: "my-bucket-name" 49 | source: public/**/* 50 | strip_prefix: public/ 51 | target: /target/location 52 | + exclude: 53 | + - **/*.xml 54 | ``` 55 | 56 | # Secret Reference 57 | 58 | GOOGLE_APPLICATION_CREDENTIALS_CONTENTS 59 | : json contents of the google application credentials (see https://developers.google.com/identity/protocols/application-default-credentials) 60 | 61 | # Parameter Reference 62 | 63 | bucket 64 | : bucket name 65 | 66 | acl 67 | : access to files that are uploaded (`private`, `public`) 68 | 69 | source 70 | : source location of the files, using a glob matching pattern 71 | 72 | target 73 | : target location of files in the bucket 74 | 75 | strip_prefix 76 | : strip the prefix from source path 77 | 78 | exclude 79 | : glob exclusion patterns 80 | 81 | compress 82 | : gzip files before they are uploaded and add a Content-Encoding: gzip 83 | -------------------------------------------------------------------------------- /plugins/gcs/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2018-04-15T00:00:00+00:00 3 | title: Google Cloud Storage 4 | author: drone-plugins 5 | tags: [ publish, google, gcp, gcs, storage ] 6 | logo: google_gcs.svg 7 | repo: drone-plugins/drone-gcs 8 | image: plugins/gcs 9 | --- 10 | 11 | The GCS plugin can be used to publish files and artifacts to Google Cloud Storage. The following pipeline configuration uses the GCS plugin to upload files: 12 | 13 | ```yaml 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: upload 19 | image: plugins/gcs 20 | settings: 21 | source: dist 22 | target: bucket/dir/ 23 | ignore: bin/* 24 | acl: allUsers:READER,user@domain.com:OWNER 25 | gzip: js,css,html 26 | cache_control: public,max-age=3600 27 | metadata: {"x-goog-meta-foo":"bar"} 28 | token: your-google-token 29 | ``` 30 | 31 | Example configuration using secrets: 32 | 33 | ```yaml 34 | kind: pipeline 35 | name: default 36 | 37 | steps: 38 | - name: upload 39 | image: plugins/gcs 40 | settings: 41 | source: dist 42 | target: bucket/dir/ 43 | ignore: bin/* 44 | acl: allUsers:READER,user@domain.com:OWNER 45 | gzip: js,css,html 46 | cache_control: public,max-age=3600 47 | metadata: {"x-goog-meta-foo":"bar"} 48 | token: 49 | from_secret: your-google-token 50 | ``` 51 | 52 | # Parameter Reference 53 | 54 | token 55 | : credentials to access Google Cloud Storage 56 | 57 | acl 58 | : a list of access rules applied to the uploaded files, in a form of entity:role 59 | 60 | source 61 | : location of files to upload 62 | 63 | ignore 64 | : skip files matching this pattern, relative to source 65 | 66 | target 67 | : destination to copy files to, including bucket name 68 | 69 | gzip 70 | : files with the specified extensions will be gzipped and uploaded with "gzip" Content-Encoding header 71 | 72 | cache_control 73 | : Cache-Control header 74 | 75 | metadata 76 | : an arbitrary dictionary with custom metadata applied to all objects -------------------------------------------------------------------------------- /plugins/gh-pages/content.yaml: -------------------------------------------------------------------------------- 1 | title: GitHub Pages 2 | author: drone-plugins 3 | tags: 4 | - publish 5 | - github 6 | - gh-pages 7 | logo: github.svg 8 | repo: https://github.com/drone-plugins/drone-gh-pages 9 | image: https://hub.docker.com/r/plugins/gh-pages 10 | license: Apache License 2.0 11 | readme: https://github.com/drone-plugins/drone-gh-pages/blob/master/README.md 12 | description: >- 13 | The GitHub Pages plugin is used to publish static websites to GitHub. The 14 | following configuration uses the gh-pages plugin to publish a website. 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: publish 21 | image: plugins/gh-pages 22 | settings: 23 | username: octocat 24 | password: p455w0rd 25 | pages_directory: public/ 26 | properties: 27 | username: 28 | type: string 29 | defaultValue: '' 30 | description: GitHub username for pushing changes 31 | secret: false 32 | required: true 33 | password: 34 | type: string 35 | defaultValue: '' 36 | description: GitHub password for pushing changes 37 | secret: true 38 | required: true 39 | ssh_key: 40 | type: string 41 | defaultValue: '' 42 | description: SSH key to use for pushing changes 43 | secret: true 44 | required: false 45 | upstream_name: 46 | type: string 47 | defaultValue: origin 48 | description: GitHub upstream target 49 | secret: false 50 | required: false 51 | target_branch: 52 | type: string 53 | defaultValue: gh-pages 54 | description: GitHub target branch 55 | secret: false 56 | required: false 57 | temporary_base: 58 | type: string 59 | defaultValue: .tmp 60 | description: Temporary directory to pull gh-pages branch 61 | secret: false 62 | required: false 63 | pages_directory: 64 | type: string 65 | defaultValue: docs 66 | description: The directory of content to publish 67 | secret: false 68 | required: true 69 | 70 | -------------------------------------------------------------------------------- /plugins/git/content.yaml: -------------------------------------------------------------------------------- 1 | title: Git 2 | author: drone-plugins 3 | tags: 4 | - clone 5 | - git 6 | logo: git.svg 7 | repo: https://github.com/drone/drone-git 8 | image: https://hub.docker.com/r/drone/git 9 | license: Apache License 2.0 10 | readme: https://github.com/drone-plugins/drone-git/blob/master/README.md 11 | description: >- 12 | The git plugin is used to clone a git repository. Note that Drone uses the git 13 | plugin by default for all repositories, without any configuration required. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: clone 20 | image: drone/git 21 | settings: 22 | depth: 50 23 | properties: 24 | depth: 25 | type: number 26 | defaultValue: '' 27 | description: creates a shallow clone with truncated history. 28 | secret: false 29 | required: false 30 | recursive: 31 | type: boolean 32 | defaultValue: false 33 | description: clones submodules recursively. 34 | secret: false 35 | required: false 36 | skip_verify: 37 | type: boolean 38 | defaultValue: false 39 | description: skips the SSL verification. 40 | secret: false 41 | required: false 42 | tags: 43 | type: boolean 44 | defaultValue: false 45 | description: fetches tags when set to true. 46 | secret: false 47 | required: false 48 | submodule_overrides: 49 | type: object 50 | defaultValue: '' 51 | description: override submodule urls. 52 | secret: false 53 | required: false 54 | submodule_update_remote: 55 | type: boolean 56 | defaultValue: false 57 | description: pass the --remote flag to git submodule update. 58 | secret: false 59 | required: false 60 | -------------------------------------------------------------------------------- /plugins/gitea-comment/content.yaml: -------------------------------------------------------------------------------- 1 | title: Gitea Comment 2 | author: DefinitelyADev 3 | tags: 4 | - infrastructure 5 | - gitea 6 | - drone 7 | - comment 8 | - buildstatus 9 | logo: gitea.svg 10 | repo: https://github.com/DefinitelyADev/gitea-comment 11 | image: https://hub.docker.com/r/tsakidev/giteacomment 12 | license: None 13 | readme: https://github.com/DefinitelyADev/gitea-comment/blob/master/README.md 14 | description: >- 15 | Use this plugin to update build status on Gitea Pull Request. This is useful 16 | when the complete team does not want to open drone dashboard for each build 17 | message. 18 | example: | 19 | kind: pipeline 20 | name: default 21 | 22 | steps: 23 | - name: post-to-gitea-pr-from-arg 24 | image: tsakidev/giteacomment:latest 25 | settings: 26 | gitea_token: 27 | from_secret: gitea_token 28 | gitea_base_url: http://gitea.example.com 29 | comment: "Hello from Drone" 30 | when: 31 | status: [ failure ] 32 | event: pull_request 33 | properties: 34 | gitea_token: 35 | type: string 36 | defaultValue: '' 37 | description: gitea server auth token 38 | secret: true 39 | required: true 40 | gitea_base_url: 41 | type: string 42 | defaultValue: '' 43 | description: the url of the gitea installation 44 | secret: false 45 | required: true 46 | comment_title: 47 | type: string 48 | defaultValue: '' 49 | description: the title of the comment 50 | secret: false 51 | required: false 52 | comment: 53 | type: string 54 | defaultValue: '' 55 | description: the content of the comment (required if comment_from_file is not used) 56 | secret: false 57 | required: false 58 | comment_from_file: 59 | type: string 60 | defaultValue: '' 61 | description: the file path to read from (required if comment is not used) 62 | secret: false 63 | required: false 64 | -------------------------------------------------------------------------------- /plugins/github-changelog-generator/content.yaml: -------------------------------------------------------------------------------- 1 | title: Github-changelog-generator 2 | author: naorlivne 3 | tags: 4 | - changelog 5 | - github 6 | - github-changelog-generator 7 | logo: github.svg 8 | repo: https://github.com/naorlivne/drone-github-changelog-generator 9 | image: https://hub.docker.com/r/naorlivne/drone-github-changelog-generator 10 | license: GNU General Public License v3.0 11 | readme: https://github.com/naorlivne/drone-github-changelog-generator/blob/master/README.md 12 | description: >- 13 | This plugin can be used to create a changelog file based on GitHub tags, it 14 | will not auto-push it into the repo but rather create a changelog file for you 15 | to upload into your desired location via other Drone plugins. 16 | example: | 17 | kind: pipeline 18 | type: docker 19 | name: default 20 | 21 | steps: 22 | - name: create_changelog 23 | image: naorlivne/drone-github-changelog-generator 24 | settings: 25 | github_user: naorlivne 26 | github_project: drone-github-changelog-generator 27 | output_path: CHANGELOG.md 28 | properties: 29 | github_user: 30 | type: string 31 | defaultValue: '' 32 | description: Github username 33 | secret: false 34 | required: true 35 | github_project: 36 | type: string 37 | defaultValue: '' 38 | description: Github project name 39 | secret: false 40 | required: true 41 | output_path: 42 | type: string 43 | defaultValue: CHANGELOG.md 44 | description: The changelog file path to be created in the current working directory (repo root by default) 45 | secret: false 46 | required: true 47 | -------------------------------------------------------------------------------- /plugins/github-changelog-generator/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-12-02T00:00:00+00:00 3 | title: Github-changelog-generator 4 | author: naorlivne 5 | tags: [ changelog, github, github-changelog-generator ] 6 | logo: github.svg 7 | repo: naorlivne/drone-github-changelog-generator 8 | image: naorlivne/drone-github-changelog-generator 9 | --- 10 | 11 | This plugin can be used to create a changelog file based on GitHub tags, it will not auto-push it into the repo but rather create a changelog file for you to upload into your desired location via other Drone plugins. 12 | 13 | The below pipeline configuration demonstrates simple usage: 14 | 15 | ```yaml 16 | kind: pipeline 17 | type: docker 18 | name: default 19 | 20 | steps: 21 | - name: create_changelog 22 | image: naorlivne/drone-github-changelog-generator 23 | settings: 24 | github_user: naorlivne 25 | github_project: drone-github-changelog-generator 26 | output_path: CHANGELOG.md 27 | ``` 28 | 29 | # Parameter Reference 30 | 31 | github_user 32 | : The GitHub user name which hosts the repo, can also use a GitHub organization name 33 | 34 | github_project 35 | : The GitHub repo name 36 | 37 | output_path 38 | : The changelog file path to be created, defaults to `CHANGELOG.md` in the current working directory (repo root by default). -------------------------------------------------------------------------------- /plugins/github-comment/content.yaml: -------------------------------------------------------------------------------- 1 | title: Github Comment 2 | author: codehimanshu 3 | tags: 4 | - infrastructure 5 | - github 6 | - drone 7 | - comment 8 | - buildstatus 9 | logo: github.svg 10 | repo: https://github.com/gradeup/drone-github-comment 11 | image: https://hub.docker.com/r/codehimanshu/gitdrone 12 | license: None 13 | readme: https://github.com/gradeup/drone-github-comment/blob/master/README.md 14 | description: >- 15 | Use this plugin to update build status on Github Pull Request. This is useful 16 | when the complete team does not want to open drone dashboard for each build 17 | message. 18 | example: | 19 | kind: pipeline 20 | name: default 21 | 22 | steps: 23 | - name: update-status-to-github 24 | image: codehimanshu/gitdrone:1.7 25 | settings: 26 | drone_access_token: 27 | from_secret: drone_access_token 28 | github_installation_id: 29 | from_secret: github_installation_id 30 | github_app_id: 38899 31 | private_key: 32 | from_secret: private_key 33 | properties: 34 | drone_access_token: 35 | type: string 36 | defaultValue: '' 37 | description: drone server auth token 38 | secret: false 39 | required: true 40 | github_installation_id: 41 | type: string 42 | defaultValue: '' 43 | description: installation id of github app for drone 44 | secret: false 45 | required: true 46 | github_app_id: 47 | type: string 48 | defaultValue: 38899 49 | description: your app id for drone on github 50 | secret: false 51 | required: true 52 | private_key: 53 | type: string 54 | defaultValue: '' 55 | description: from github app installation 56 | secret: false 57 | required: true 58 | -------------------------------------------------------------------------------- /plugins/github-comment/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2020-04-24T00:00:00+00:00 3 | title: Github Comment 4 | author: codehimanshu 5 | tags: [ infrastructure, github, drone, comment, buildstatus ] 6 | logo: github.svg 7 | repo: gradeup/drone-github-comment 8 | image: codehimanshu/gitdrone 9 | --- 10 | 11 | Use this plugin to update build status on Github Pull Request. This is useful when the complete team does not want to open drone dashboard for each build message. 12 | 13 | ```yaml 14 | steps: 15 | - name: update-status-to-github 16 | image: codehimanshu/gitdrone:1.7 17 | settings: 18 | drone_access_token: 19 | from_secret: drone_access_token 20 | github_installation_id: 21 | from_secret: github_installation_id 22 | github_app_id: 38899 23 | private_key: 24 | from_secret: private_key 25 | when: 26 | status: [ success, failure ] 27 | event: tag 28 | ``` 29 | 30 | Example reference to use for pull request 31 | 32 | ```yaml 33 | steps: 34 | - name: update-status-to-github 35 | image: codehimanshu/gitdrone:1.7 36 | environment: 37 | drone_access_token: 38 | from_secret: drone_access_token 39 | github_installation_id: 40 | from_secret: github_installation_id 41 | github_app_id: 38899 42 | private_key: 43 | from_secret: private_key 44 | when: 45 | status: [ failure ] 46 | event: pull_request 47 | ``` 48 | 49 | Github App to post comments on your Pull Request: https://github.com/apps/dronegitbot 50 | 51 | # Parameter Reference 52 | 53 | drone_access_token 54 | : drone server auth token 55 | 56 | github_installation_id 57 | : installation id of github app for drone 58 | 59 | github_app_id 60 | : your app id for drone on github, defaults to 38899 61 | 62 | private_key 63 | : from github app installation -------------------------------------------------------------------------------- /plugins/gitlab-ci/content.yaml: -------------------------------------------------------------------------------- 1 | title: Gitlab-CI 2 | author: appleboy 3 | tags: 4 | - infrastructure 5 | - trigger 6 | - gitlab 7 | - gitlab-ci 8 | logo: gitlab.svg 9 | repo: https://github.com/appleboy/drone-gitlab-ci 10 | image: https://hub.docker.com/r/appleboy/drone-gitlab-ci 11 | license: MIT License 12 | readme: https://github.com/appleboy/drone-gitlab-ci/blob/master/README.md 13 | description: The Gitlab-ci plugin allows you to trigger Gitlab-ci job automatically. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: trigger gitlab job 20 | image: appleboy/drone-gitlab-ci 21 | settings: 22 | host: https://gitlab.com 23 | token: xxxxxxxxxx 24 | ref: master 25 | id: gitlab-project-id 26 | properties: 27 | host: 28 | type: string 29 | defaultValue: '' 30 | description: Gitlab server url 31 | secret: false 32 | required: true 33 | token: 34 | type: string 35 | defaultValue: '' 36 | description: Gitlab token 37 | secret: true 38 | required: true 39 | ref: 40 | type: string 41 | defaultValue: '' 42 | description: valid refs are only the branches and tags 43 | secret: false 44 | required: true 45 | id: 46 | type: string 47 | defaultValue: '' 48 | description: Gitlab project id 49 | secret: false 50 | required: true 51 | debug: 52 | type: boolean 53 | defaultValue: false 54 | description: Enable debug mode 55 | secret: false 56 | required: false -------------------------------------------------------------------------------- /plugins/gitlab-ci/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-19-19T00:00:00+00:00 3 | title: Gitlab-CI 4 | author: appleboy 5 | tags: [ infrastructure, trigger, gitlab, gitlab-ci ] 6 | repo: appleboy/drone-gitlab-ci 7 | logo: gitlab.svg 8 | image: appleboy/drone-gitlab-ci 9 | --- 10 | 11 | The Gitlab-ci plugin allows you to trigger Gitlab-ci job automatically. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | - name: trigger gitlab job 15 | image: appleboy/drone-gitlab-ci 16 | settings: 17 | host: https://gitlab.com 18 | token: xxxxxxxxxx 19 | ref: master 20 | id: gitlab-project-id 21 | ``` 22 | 23 | Example configuration with debug mode: 24 | 25 | ```diff 26 | - name: trigger gitlab job 27 | image: appleboy/drone-gitlab-ci 28 | settings: 29 | host: https://gitlab.com 30 | token: xxxxxxxxxx 31 | ref: master 32 | id: gitlab-project-id 33 | + debug: true 34 | ``` 35 | 36 | Example configuration using credentials from secrets: 37 | 38 | ```diff 39 | - name: trigger gitlab job 40 | image: appleboy/drone-gitlab-ci 41 | settings: 42 | host: https://gitlab.com 43 | + token: 44 | + from_secret: gitlab_token 45 | id: gitlab-project-id 46 | ``` 47 | 48 | ## Parameter Reference 49 | 50 | host 51 | : gitlab-ci server base url. 52 | 53 | token 54 | : gitlab-ci user token 55 | 56 | ref 57 | : valid refs are only the branches and tags 58 | 59 | id 60 | : gitlab-ci project id 61 | 62 | debug 63 | : enable debug mode -------------------------------------------------------------------------------- /plugins/gitleaks/content.yaml: -------------------------------------------------------------------------------- 1 | title: Gitleaks 2 | author: drone-plugins 3 | tags: 4 | - security 5 | logo: gitleaks.png 6 | repo: https://github.com/drone/drone-gitleaks 7 | image: https://hub.docker.com/r/plugins/gitleaks 8 | license: Apache License 2.0 9 | readme: https://github.com/drone/drone-gitleaks/blob/master/README.md 10 | description: A plugin to detect hard-coded secrets and sensitive data in your source code files. 11 | example: | 12 | kind: pipeline 13 | name: default 14 | 15 | steps: 16 | - name: run gitleaks 17 | image: plugins/gitleaks 18 | settings: 19 | path: . 20 | properties: 21 | config: 22 | type: string 23 | defaultValue: '' 24 | description: The path to the gitleaks config file. 25 | secret: false 26 | required: false 27 | path: 28 | type: string 29 | defaultValue: '.' 30 | description: The path to the directory containing the source code files. 31 | secret: false 32 | required: false 33 | -------------------------------------------------------------------------------- /plugins/google-chat/content.yaml: -------------------------------------------------------------------------------- 1 | title: Google Chat 2 | author: josmo 3 | tags: 4 | - notifications 5 | - chat 6 | logo: gtalk.svg 7 | repo: https://github.com/josmo/drone-google-chat 8 | image: https://hub.docker.com/r/pelotech/drone-google-chat 9 | license: None 10 | readme: https://github.com/josmo/drone-google-chat/blob/master/README.md 11 | description: >- 12 | The Google chat plugin posts build status messages to your company google 13 | chat. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: notify 20 | image: pelotech/drone-google-chat 21 | settings: 22 | webook: https://dynamite.sandbox.googleapis.com/v1/rooms/roomid 23 | key: mykey 24 | token: mytoken 25 | properties: 26 | webhook: 27 | type: string 28 | defaultValue: '' 29 | description: incomming webhook in the Bots section of google chat. 30 | secret: false 31 | required: true 32 | key: 33 | type: string 34 | defaultValue: '' 35 | description: key for the webook. 36 | secret: true 37 | required: true 38 | token: 39 | type: string 40 | defaultValue: '' 41 | description: token for the webook. 42 | secret: true 43 | required: true 44 | conversation_key: 45 | type: string 46 | defaultValue: '' 47 | description: arbitrary key to group messages together. 48 | secret: false 49 | required: true 50 | template: 51 | type: string 52 | defaultValue: '' 53 | description: overwrite the default message template. 54 | secret: false 55 | required: false 56 | -------------------------------------------------------------------------------- /plugins/gpgsign/content.yaml: -------------------------------------------------------------------------------- 1 | title: GPG Sign 2 | author: drone-plugins 3 | tags: 4 | - artifact 5 | - gpg 6 | - sign 7 | logo: gnupg.svg 8 | repo: https://github.com/drone-plugins/drone-gpgsign 9 | image: https://hub.docker.com/r/plugins/gpgsign 10 | license: Apache License 2.0 11 | readme: https://github.com/drone-plugins/drone-gpgsign/blob/master/README.md 12 | description: >- 13 | This plugin can sign your artifacts and build results with 14 | [GnuPG](https://www.gnupg.org/). 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: sign 21 | image: plugins/gpgsign 22 | settings: 23 | key: your-base64-encoded-private-key 24 | passphrase: p455w0rd 25 | files: 26 | - dist/* 27 | properties: 28 | key: 29 | type: string 30 | defaultValue: '' 31 | description: Private GnuPG key, optionally base64 encoded. 32 | secret: true 33 | required: true 34 | passphrase: 35 | type: string 36 | defaultValue: '' 37 | description: passphrase for the private key. 38 | secret: true 39 | required: true 40 | files: 41 | type: array 42 | defaultValue: [] 43 | description: List of globs to match files. 44 | secret: false 45 | required: true 46 | detach_sign: 47 | type: boolean 48 | defaultValue: false 49 | description: Generate a detach-sign signature. 50 | secret: false 51 | required: false 52 | clear_sign: 53 | type: boolean 54 | defaultValue: false 55 | description: Generate a clear-sign signature. 56 | secret: false 57 | required: false 58 | excludes: 59 | type: array 60 | defaultValue: [] 61 | description: List of globs to exclude files. 62 | secret: false 63 | required: false 64 | 65 | -------------------------------------------------------------------------------- /plugins/grafana-annotation/content.yaml: -------------------------------------------------------------------------------- 1 | title: Grafana Annotation 2 | author: fdeschenes 3 | tags: 4 | - deploy 5 | - reporting 6 | - grafana 7 | logo: grafana.svg 8 | repo: https://github.com/fdeschenes/drone-grafana-annotation 9 | image: https://hub.docker.com/r/fdeschenes/drone-grafana-annotation 10 | license: None 11 | readme: https://github.com/fdeschenes/drone-grafana-annotation/blob/master/README.md 12 | description: >- 13 | The Grafana Annotation plugin can be used to create an annotation in 14 | [Grafana](https://grafana.com). 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: annotate 21 | image: fdeschenes/drone-grafana-annotation 22 | settings: 23 | api_key: xxxxx 24 | image: fdeschenes/drone-grafana-annotation 25 | tags: 26 | - deploy 27 | - production 28 | text: "Deployed" 29 | url: https://grafana.example.com 30 | properties: 31 | api_key: 32 | type: string 33 | defaultValue: '' 34 | description: The Grafana API key 35 | secret: true 36 | required: true 37 | tags: 38 | type: array 39 | defaultValue: [] 40 | description: The tags to add to the annotation 41 | secret: false 42 | required: false 43 | text: 44 | type: string 45 | defaultValue: '' 46 | description: Description 47 | secret: false 48 | required: true 49 | url: 50 | type: string 51 | defaultValue: '' 52 | description: The Grafana URL 53 | secret: false 54 | required: true 55 | -------------------------------------------------------------------------------- /plugins/grafana-annotation/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-06-03T10:40:00+08:00 3 | title: Grafana Annotation 4 | author: fdeschenes 5 | tags: [deploy, reporting, grafana] 6 | logo: grafana.svg 7 | repo: fdeschenes/drone-grafana-annotation 8 | image: fdeschenes/drone-grafana-annotation 9 | --- 10 | 11 | The Grafana Annotation plugin can be used to create an annotation in [Grafana](https://grafana.com). The below sample pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | pipeline: 15 | annotate: 16 | api_key: xxxxx 17 | image: fdeschenes/drone-grafana-annotation 18 | tags: 19 | - deploy 20 | - production 21 | text: "Deployed" 22 | url: https://grafana.example.com 23 | when: 24 | environment: production 25 | event: deployment 26 | status: success 27 | ``` 28 | 29 | # Parameter Reference 30 | 31 | api_key 32 | : api key 33 | 34 | tags 35 | : array of tags 36 | 37 | text 38 | : description 39 | 40 | url 41 | : server url -------------------------------------------------------------------------------- /plugins/gtalk/content.yaml: -------------------------------------------------------------------------------- 1 | title: GTalk 2 | author: appleboy 3 | tags: 4 | - notifications 5 | - chat 6 | logo: gtalk.svg 7 | repo: https://github.com/appleboy/drone-gtalk 8 | image: https://hub.docker.com/r/appleboy/drone-gtalk 9 | license: MIT License 10 | readme: https://github.com/appleboy/drone-gtalk/blob/master/README.md 11 | description: The GTalk plugin posts build status messages to your google account. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: gtalk 18 | image: appleboy/drone-gtalk 19 | settings: 20 | google_host: talk.google.com:443 21 | google_username: xxxxxxxxxx 22 | google_password: xxxxxxxxxx 23 | to: google_user_email_account 24 | properties: 25 | google_host: 26 | type: string 27 | defaultValue: talk.google.com:443 28 | description: The Google Talk server hostname 29 | secret: false 30 | required: true 31 | google_username: 32 | type: string 33 | defaultValue: '' 34 | description: Google user account 35 | secret: true 36 | required: true 37 | google_password: 38 | type: string 39 | defaultValue: '' 40 | description: Google user account password 41 | secret: true 42 | required: true 43 | to: 44 | type: string 45 | defaultValue: '' 46 | description: Google user account 47 | secret: false 48 | required: true 49 | message: 50 | type: string 51 | defaultValue: '' 52 | description: overwrite the default message 53 | secret: false 54 | required: true 55 | 56 | -------------------------------------------------------------------------------- /plugins/harness-terraform/content.yaml: -------------------------------------------------------------------------------- 1 | title: Harness Terraform 2 | author: Harness 3 | tags: 4 | - infrastructure 5 | - harness 6 | - terraform 7 | logo: terraform.svg 8 | repo: https://github.com/drone-plugins/drone-terraform 9 | image: https://hub.docker.com/r/plugins/harness_terraform 10 | license: None 11 | readme: https://github.com/drone-plugins/drone-terraform/blob/main/README.md 12 | description: >- 13 | Terraform plugin to use in the IACM module in Harness 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: stepName 20 | type: plugins/harness-terraform 21 | settings: 22 | command: apply 23 | 24 | properties: 25 | command: 26 | type: string 27 | defaultValue: 'init' 28 | description: Commands that indicates what action the plugin will perform. Current supported values are init, plan, apply or destroy 29 | secret: false 30 | required: true 31 | -------------------------------------------------------------------------------- /plugins/heroku/content.yaml: -------------------------------------------------------------------------------- 1 | title: Heroku 2 | author: drone-plugins 3 | tags: 4 | - publish 5 | - docker 6 | - heroku 7 | logo: heroku.svg 8 | repo: https://github.com/drone-plugins/drone-docker 9 | image: https://hub.docker.com/r/plugins/heroku 10 | license: None 11 | readme: https://github.com/drone-plugins/drone-docker/blob/master/README.md 12 | description: >- 13 | The heroku plugin can be used to build and publish images to the Heroku container registry. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: docker 20 | image: plugins/docker 21 | settings: 22 | email: foo@bar.com 23 | api_key: foobar 24 | app: foo 25 | process_type: bar 26 | properties: 27 | registry: 28 | type: string 29 | defaultValue: registry.heroku.com 30 | description: authenticates to this registry 31 | secret: false 32 | required: false 33 | process_type: 34 | type: string 35 | defaultValue: '' 36 | description: process type 37 | secret: false 38 | required: true 39 | app: 40 | type: string 41 | defaultValue: '' 42 | description: app name 43 | secret: false 44 | required: true 45 | email: 46 | type: string 47 | defaultValue: '' 48 | description: auth email 49 | secret: false 50 | required: true 51 | api_key: 52 | type: string 53 | defaultValue: '' 54 | description: heroku api key 55 | secret: true 56 | required: true 57 | -------------------------------------------------------------------------------- /plugins/hg/content.yaml: -------------------------------------------------------------------------------- 1 | title: Mercurial 2 | author: drone-plugins 3 | tags: 4 | - clone 5 | - hg 6 | logo: mercurial.svg 7 | repo: https://github.com/drone-plugins/drone-hg 8 | image: https://hub.docker.com/r/plugins/hg 9 | license: Apache License 2.0 10 | readme: https://github.com/drone-plugins/drone-hg/blob/master/README.md 11 | description: The mercurial plugin is used to clone a mercurial repository. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | clone: 17 | disable: true 18 | 19 | steps: 20 | - name: checkout 21 | image: plugins/hg 22 | -------------------------------------------------------------------------------- /plugins/hg/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2017-08-15T00:00:00+00:00 3 | title: Mercurial 4 | author: drone-plugins 5 | tags: [ clone, hg ] 6 | logo: mercurial.svg 7 | repo: drone-plugins/drone-hg 8 | image: plugins/hg 9 | --- 10 | 11 | The mercurial plugin is used to clone a mercurial repository. In the below example we disable the default git clone and clone the repository using the mercurial plugin. 12 | 13 | ```yaml 14 | kind: pipeline 15 | name: default 16 | 17 | clone: 18 | disable: true 19 | 20 | steps: 21 | - name: checkout 22 | image: plugins/hg 23 | ``` -------------------------------------------------------------------------------- /plugins/instant-access/content.yaml: -------------------------------------------------------------------------------- 1 | title: InstantAccess(即时达) 2 | author: erguotou520 3 | tags: 4 | - notifications 5 | - InstantAccess 6 | - 即时达 7 | logo: instant_access.svg 8 | repo: https://github.com/erguotou520/drone-instant-access 9 | image: https://hub.docker.com/r/erguotou/drone-instant-access 10 | license: MIT License 11 | readme: https://github.com/erguotou520/drone-instant-access/blob/master/README.md 12 | description: The InstantAccess plugin posts build status messages to your account. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: send-wechat 19 | image: erguotou/drone-instant-access 20 | settings: 21 | channel: d255d62caef24a3bb66c3465dad70407 22 | head: hello world 23 | body: Send by InstantAccess 24 | properties: 25 | channel: 26 | type: string 27 | defaultValue: '' 28 | description: The InstantAccess(即时达) channel key, get key by http://push.ijingniu.cn/push/channel/ 29 | secret: false 30 | required: true 31 | head: 32 | type: string 33 | defaultValue: '' 34 | description: Notification title 35 | secret: false 36 | required: true 37 | body: 38 | type: string 39 | defaultValue: '' 40 | description: Notification body, supports markdown 41 | secret: false 42 | required: true 43 | -------------------------------------------------------------------------------- /plugins/instant-access/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2020-03-07T00:00:00+08:00 3 | title: InstantAccess(即时达) 4 | author: erguotou520 5 | tags: [ notifications, InstantAccess, 即时达 ] 6 | logo: instant_access.svg 7 | repo: erguotou520/drone-instant-access 8 | image: erguotou/drone-instant-access 9 | --- 10 | 11 | The InstantAccess plugin posts build status messages to your account. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | - name: send-wechat 15 | image: erguotou/drone-instant-access 16 | settings: 17 | channel: d255d62caef24a3bb66c3465dad70407 18 | head: hello world 19 | body: Send by InstantAccess 20 | ``` 21 | 22 | You can also add build status via drone environment: 23 | 24 | ```yaml 25 | - name: send-wechat 26 | image: erguotou/drone-instant-access 27 | settings: 28 | channel: 29 | from_secret: CHANNEL 30 | head: hello world 31 | body: "${DRONE_BUILD_STATUS} at ${DRONE_REPO_BRANCH} branch" 32 | ``` 33 | 34 | # Parameter Reference 35 | 36 | channel 37 | : The InstantAccess(即时达) channel key, get key by 38 | 39 | head 40 | : Notification title 41 | 42 | body 43 | : Notification body message, support markdown -------------------------------------------------------------------------------- /plugins/irc/content.yaml: -------------------------------------------------------------------------------- 1 | title: IRC 2 | author: drone-plugins 3 | tags: 4 | - notifications 5 | logo: irc.svg 6 | repo: https://github.com/drone-plugins/drone-irc 7 | image: https://hub.docker.com/r/plugins/irc/ 8 | license: None 9 | readme: https://github.com/drone-plugins/drone-irc/blob/master/README.md 10 | description: | 11 | The IRC plugin can be used to send notifications to an IRC channel. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: irc 18 | image: plugins/irc 19 | settings: 20 | nick: drone-bot 21 | channel: #my-awesome-project 22 | host: irc.example.com 23 | port: 6667 24 | properties: 25 | nick: 26 | type: string 27 | description: nickname used by bot 28 | secret: false 29 | required: false 30 | defaultValue: drone{random-number} 31 | channel: 32 | type: string 33 | description: channel to post message in 34 | secret: false 35 | required: false 36 | defaultValue: "" 37 | recipients: 38 | type: string 39 | description: recipient 40 | secret: false 41 | required: false 42 | defaultValue: "" 43 | host: 44 | type: string 45 | description: irc server host 46 | secret: false 47 | required: false 48 | defaultValue: "" 49 | port: 50 | type: string 51 | description: port 52 | secret: false 53 | required: false 54 | defaultValue: 6667 55 | password: 56 | type: string 57 | description: password 58 | secret: true 59 | required: false 60 | defaultValue: "" 61 | sasl-password: 62 | type: string 63 | description: sasl-password 64 | secret: true 65 | required: false 66 | defaultValue: "" 67 | enable-tls: 68 | type: boolean 69 | description: enable tls 70 | secret: false 71 | required: false 72 | defaultValue: false 73 | use-sasl: 74 | type: boolean 75 | description: use use-sasl 76 | secret: false 77 | required: false 78 | defaultValue: false 79 | -------------------------------------------------------------------------------- /plugins/jenkins/content.yaml: -------------------------------------------------------------------------------- 1 | title: Jenkins 2 | author: appleboy 3 | tags: 4 | - infrastructure 5 | - trigger 6 | - jenkins 7 | logo: jenkins.svg 8 | repo: https://github.com/appleboy/drone-jenkins 9 | image: https://hub.docker.com/r/appleboy/drone-jenkins 10 | license: MIT License 11 | readme: https://github.com/appleboy/drone-jenkins/blob/master/README.md 12 | description: The Jenkins plugin allows you to trigger Jenkins job automatically. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: trigger jenkins job 19 | image: appleboy/drone-jenkins 20 | settings: 21 | url: http://example.com 22 | user: appleboy 23 | token: xxxxxxxxxx 24 | job: drone-jenkins-plugin-job 25 | properties: 26 | url: 27 | type: string 28 | defaultValue: '' 29 | description: The Jenkins URL 30 | secret: false 31 | required: true 32 | user: 33 | type: string 34 | defaultValue: '' 35 | description: The Jenkins user 36 | secret: false 37 | required: true 38 | token: 39 | type: string 40 | defaultValue: '' 41 | description: The Jenkins token 42 | secret: true 43 | required: true 44 | job: 45 | type: string 46 | defaultValue: '' 47 | description: The Jenkins job name 48 | secret: false 49 | required: true 50 | -------------------------------------------------------------------------------- /plugins/jenkins/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-10-19T00:00:00+00:00 3 | title: Jenkins 4 | author: appleboy 5 | tags: [ infrastructure, trigger, jenkins ] 6 | repo: appleboy/drone-jenkins 7 | logo: jenkins.svg 8 | image: appleboy/drone-jenkins 9 | --- 10 | 11 | The Jenkins plugin allows you to trigger Jenkins job automatically. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | - name: trigger jenkins job 15 | image: appleboy/drone-jenkins 16 | settings: 17 | url: http://example.com 18 | user: appleboy 19 | token: xxxxxxxxxx 20 | job: drone-jenkins-plugin-job 21 | ``` 22 | 23 | Example configuration with multiple jobs: 24 | 25 | ```diff 26 | - name: trigger jenkins job 27 | image: appleboy/drone-jenkins 28 | settings: 29 | url: http://example.com 30 | user: appleboy 31 | token: xxxxxxxxxx 32 | job: 33 | + - drone-jenkins-plugin-job-1 34 | + - drone-jenkins-plugin-job-2 35 | ``` 36 | 37 | Example configuration with jobs in the folder: 38 | 39 | ```diff 40 | - name: trigger jenkins job 41 | image: appleboy/drone-jenkins 42 | settings: 43 | url: http://example.com 44 | user: appleboy 45 | token: xxxxxxxxxx 46 | + job: folder_name/job_name 47 | ``` 48 | 49 | It will trigger the URL of Jenkins job like as `http://example.com/job/folder_name/job/job_name/` 50 | 51 | ## Parameter Reference 52 | 53 | url 54 | : jenkins server base url. 55 | 56 | user 57 | : jenkins user account 58 | 59 | token 60 | : jenkins user token 61 | 62 | job 63 | : jenkins job name -------------------------------------------------------------------------------- /plugins/kube/content.yaml: -------------------------------------------------------------------------------- 1 | title: Drone Kube 2 | author: vallard 3 | tags: 4 | - deploy 5 | - kubernetes 6 | - docker 7 | logo: kubernetes.svg 8 | repo: https://github.com/vallard/drone-kube 9 | image: https://hub.docker.com/r/vallard/drone-kube 10 | license: None 11 | readme: https://github.com/vallard/drone-kube/blob/master/README.md 12 | description: Drone kubernetes plugin. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: deploy 19 | image: vallard/drone-kube 20 | settings: 21 | template: deployment.yaml 22 | properties: 23 | template: 24 | type: string 25 | defaultValue: '' 26 | description: The template to use 27 | secret: false 28 | required: true 29 | namespace: 30 | type: string 31 | defaultValue: '' 32 | description: The namespace to deploy the template in 33 | secret: false 34 | required: true 35 | server: 36 | type: string 37 | defaultValue: '' 38 | description: The kubernetes server to deploy the template in 39 | secret: false 40 | required: true 41 | -------------------------------------------------------------------------------- /plugins/kubevious/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '1.0.37' 3 | date: 2022-31151T00:00:00+00:00 4 | title: Kubevious 5 | author: kubevious 6 | tags: [ kubernetes, k8s, validation, inting, security, compliance, best practices, misconfigurations ] 7 | logo: kubevious.svg 8 | repo: https://github.com/kubevious/cli 9 | image: kubevious/cli 10 | --- 11 | 12 | The Kubevious plugin detects and prevents errors(typos, misconfigurations, conflicts, inconsistencies) and violations of best practices for Kubernetes applications and clusters. 13 | 14 | Example pipeline configuration: 15 | 16 | ```yaml 17 | kind: pipeline 18 | name: default 19 | steps: 20 | - name: deploy 21 | image: kubevious/cli 22 | settings: 23 | helm_repo_url: https://charts.konghq.com 24 | helm_repo_name: kong 25 | helm_chart: kong 26 | helm_namespace: kong-system 27 | helm_include_crds: true 28 | helm_override: overrides/overrides-dev.yaml 29 | manifests: additional-manifests/ 30 | crds: additional-crds/ 31 | mocks: additional-mock-manifests/ 32 | k8s_version: 1.20 33 | live_k8s: false 34 | ignore_unknown: false 35 | ignore_non_k8s: false 36 | detailed_output: false 37 | json_output: false 38 | ``` -------------------------------------------------------------------------------- /plugins/lambda/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2017-10-22T08:00:35+01:00 4 | title: AWS Lambda 5 | author: devops-israel 6 | tags: [ deploy, amazon, aws, lambda ] 7 | logo: amazon_lambda.svg 8 | repo: omerxx/drone-lambda-plugin 9 | image: omerxx/drone-lambda-plugin 10 | --- 11 | 12 | The plugin automatically deployes a serverless function to AWS Lambda from a zip file located in an S3 bucket. _This plugin does not handle creating or uploading the zip file._ 13 | 14 | Example: 15 | 16 | ```yaml 17 | kind: pipeline 18 | type: docker 19 | name: default 20 | 21 | steps: 22 | - name: deploy-lambda 23 | image: omerxx/drone-lambda-plugin 24 | settings: 25 | function_name: my-function 26 | s3_bucket: some-bucket 27 | file_name: lambda-dir/lambda-project-${DRONE_BUILD_NUMBER}.zip 28 | ``` 29 | 30 | # Secret Reference 31 | 32 | It is highly recommended to make use of IAM roles instead of environment variables for AWS 33 | (Considering you are running Drone on AWS) 34 | 35 | aws_access_key_id 36 | : AWS access key 37 | 38 | aws_secret_access_key 39 | : AWS secret key. Access and secret key variables override credentials stored in config files 40 | 41 | aws_default_region 42 | : AWS region. This variable overrides the default region of the in-use profile, if set 43 | 44 | 45 | If these are not set, the plugin will use the instance IAM role [ Recommended method ] 46 | 47 | # Parameter Reference 48 | 49 | function_name 50 | : Name of the lambda function as set in AWS 51 | 52 | s3_bucket 53 | : Name of the S3 bucket in which the zip package for deployment is stored 54 | 55 | file_name 56 | : Name of the file in S3. Can be prefixed like `my-directory/my-zip-package.zip` 57 | 58 | -------------------------------------------------------------------------------- /plugins/load-and-store/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2020-09-11:00:00+00:00 3 | title: Load and store 4 | author: allgreed 5 | tags: [ publish, docker ] 6 | logo: docker.svg 7 | repo: allgreed/drone-load-and-store 8 | image: allgreed/drone-load-and-store 9 | --- 10 | 11 | This plugin can be used to load and publish images to the Docker registry. It can come in handy when the [default Docker plugin](http://plugins.drone.io/drone-plugins/drone-docker/) cannot be used. A good example usecase is [building Docker images with nix](https://nix.dev/tutorials/building-and-running-docker-images.html) which produces a Docker image archive. 12 | 13 | The following pipeline configuration pushes an image archive under `./docker-image.tar.gz` to `docker.io/username/repository:latest` and `docker.io/username/repository:5.2.4` with credentials acquired from Drone secrets: 14 | 15 | ```yaml 16 | steps: 17 | - name: prepare-tags 18 | image: busybox 19 | commands: 20 | - echo -n "latest,5.2.4" > .tags 21 | 22 | - name: push-docker-image 23 | image: allgreed/drone-load-and-store 24 | settings: 25 | archive: docker-image.tar.gz 26 | repo: username/repository 27 | username: 28 | from_secret: docker_username 29 | password: 30 | from_secret: docker_password 31 | ``` 32 | 33 | The `.tags` file is mandatory. 34 | 35 | # Parameter Reference 36 | 37 | archive 38 | : location of the docker image archive 39 | 40 | registry 41 | : authenticates to this registry (default: docker.io) 42 | 43 | username 44 | : authenticates with this username 45 | 46 | password 47 | : authenticates with this password 48 | 49 | repo 50 | : repository name for the image 51 | 52 | debug 53 | : enable verbose logging -------------------------------------------------------------------------------- /plugins/marathon/content.yaml: -------------------------------------------------------------------------------- 1 | title: Marathon 2 | author: dellintosh 3 | tags: 4 | - deploy 5 | - marathon 6 | logo: marathon.svg 7 | repo: https://github.com/expansioncap/drone-marathon 8 | image: https://hub.docker.com/r/e20co/drone-marathon 9 | license: Apache License 2.0 10 | readme: https://github.com/expansioncap/drone-marathon/blob/master/README.rst 11 | description: >- 12 | This plugin can be used to deploy applications to a Marathon server. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: marathon 19 | image: e20co/drone-marathon 20 | settings: 21 | server: http://marathon.mesos:8080 22 | properties: 23 | server: 24 | type: string 25 | defaultValue: http://marathon.mesos:8080 26 | description: Marathon server URL. 27 | secret: false 28 | required: false 29 | marathonfile: 30 | type: string 31 | defaultValue: marathon.json 32 | description: The Marathon configuration file. 33 | secret: false 34 | required: false 35 | trigger_restart: 36 | type: boolean 37 | defaultValue: false 38 | description: Force a restart of the application. 39 | secret: false 40 | required: false 41 | values: 42 | type: object 43 | defaultValue: '' 44 | description: Map of values to replace in the marathonfile. 45 | secret: false 46 | required: false 47 | -------------------------------------------------------------------------------- /plugins/matrix/content.yaml: -------------------------------------------------------------------------------- 1 | title: Matrix 2 | author: drone-plugins 3 | tags: 4 | - notifications 5 | - chat 6 | - matrix 7 | logo: matrix.svg 8 | repo: https://github.com/drone-plugins/drone-matrix 9 | image: https://hub.docker.com/r/plugins/matrix 10 | license: Apache License 2.0 11 | readme: https://github.com/drone-plugins/drone-matrix/blob/master/README.md 12 | description: >- 13 | This plugin can be used to send build success or failure messages to a Matrix 14 | room. 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: notify 21 | image: plugins/matrix 22 | settings: 23 | homeserver: https://matrix.org 24 | roomid: abcdefghijklmnopqrstuvwxyz:matrix.org 25 | username: octocat 26 | password: p455w0rd 27 | properties: 28 | homeserver: 29 | type: string 30 | defaultValue: https://matrix.org 31 | description: The Matrix homeserver URL. 32 | secret: false 33 | required: false 34 | roomid: 35 | type: string 36 | defaultValue: '' 37 | description: Room ID to send messages (not alias, but ID, and you can skip the !). 38 | secret: false 39 | required: true 40 | username: 41 | type: string 42 | defaultValue: '' 43 | description: Username on homeserver. 44 | secret: false 45 | required: true 46 | password: 47 | type: string 48 | defaultValue: '' 49 | description: Password on homeserver (use with username). 50 | secret: true 51 | required: true 52 | userid: 53 | type: string 54 | defaultValue: '' 55 | description: Matrix user ID (@user:homeserver.tld). 56 | secret: false 57 | required: false 58 | accesstoken: 59 | type: string 60 | defaultValue: '' 61 | description: Matrix access token (use with userid). 62 | secret: true 63 | required: false 64 | template: 65 | type: string 66 | defaultValue: '' 67 | description: Template to use for message. 68 | secret: false 69 | required: false 70 | -------------------------------------------------------------------------------- /plugins/matrix/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2018-04-19T00:00:00+00:00 3 | title: Matrix 4 | author: drone-plugins 5 | tags: [ notifications, chat, matrix ] 6 | logo: matrix.svg 7 | repo: drone-plugins/drone-matrix 8 | image: plugins/matrix 9 | --- 10 | 11 | This plugin can be used to send build success or failure messages to a Matrix room. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | steps: 15 | - name: notify 16 | image: plugins/matrix 17 | settings: 18 | homeserver: https://matrix.org 19 | roomid: abcdefghijklmnopqrstuvwxyz:matrix.org 20 | username: octocat 21 | password: p455w0rd 22 | ``` 23 | 24 | Example configuration using named secrets: 25 | 26 | ```yaml 27 | steps: 28 | - name: notify 29 | image: plugins/matrix 30 | settings: 31 | homeserver: https://matrix.org 32 | roomid: abcdefghijklmnopqrstuvwxyz:matrix.org 33 | username: 34 | from_secret: matrix_username 35 | password: 36 | from_secret: matrix_password 37 | ``` 38 | 39 | # Parameter Reference 40 | 41 | username 42 | : Username on homeserver 43 | 44 | password 45 | : Password on homeserver (use with username) 46 | 47 | userid 48 | : Matrix user ID (@user:homeserver.tld) 49 | 50 | accesstoken 51 | : Matrix access token (use with userid) 52 | 53 | homeserver 54 | : Matrix homeserver URL, defaults to https://matrix.org 55 | 56 | roomid 57 | : Room ID to send messages (not alias, but ID, and you can skip the `!`) 58 | 59 | template 60 | : Template for the message -------------------------------------------------------------------------------- /plugins/metronome/content.yaml: -------------------------------------------------------------------------------- 1 | title: Metronome 2 | author: naorlivne 3 | tags: 4 | - deploy 5 | - metronome 6 | logo: metronome.svg 7 | repo: https://github.com/naorlivne/drone-metronome 8 | image: https://hub.docker.com/r/naorlivne/drone-metronome 9 | license: GNU Lesser General Public License v3.0 10 | readme: https://github.com/naorlivne/drone-metronome/blob/master/README.md 11 | description: >- 12 | This plugin can be used to deploy applications to a Metronome server, it will 13 | create\update the given Metronome tasks as needed. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: metronome_deploy 20 | image: naorlivne/drone-metronome 21 | settings: 22 | metronome_host: http://metronome.mesos:9000 23 | metronome_job_file: metronome.json 24 | properties: 25 | metronome_host: 26 | type: string 27 | defaultValue: http://metronome.mesos:9000 28 | description: The Metronome server URL (no trailing slash should be used). 29 | secret: false 30 | required: false 31 | metronome_job_file: 32 | type: string 33 | defaultValue: metronome.json 34 | description: The Metronome configuration file location relative to the root folder of the repo. 35 | secret: false 36 | required: true 37 | -------------------------------------------------------------------------------- /plugins/netlify/content.yaml: -------------------------------------------------------------------------------- 1 | title: Netlify 2 | author: lucaperret 3 | tags: 4 | - deploy 5 | - netlify 6 | logo: netlify.svg 7 | repo: https://github.com/lucaperret/drone-netlify 8 | image: https://hub.docker.com/r/lucap/drone-netlify 9 | license: MIT License 10 | readme: https://github.com/lucaperret/drone-netlify/blob/master/README.md 11 | description: The netlify plugin deploy your build to netlify. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: netlify 18 | image: lucap/drone-netlify 19 | settings: 20 | token: xxxxx 21 | site_id: xxxxxxx-xxxx-xxx-xxxxxxxx 22 | properties: 23 | token: 24 | type: string 25 | defaultValue: '' 26 | description: The netlify token 27 | secret: true 28 | required: true 29 | site_id: 30 | type: string 31 | defaultValue: '' 32 | description: Set the Site ID (or API ID in your Site settings dashboard). 33 | secret: false 34 | required: true 35 | site_name: 36 | type: string 37 | defaultValue: '' 38 | description: Set the Netlify subdomain. 39 | secret: false 40 | required: false 41 | domain: 42 | type: string 43 | defaultValue: '' 44 | description: Set your custom domain. 45 | secret: false 46 | required: false 47 | enviroment: 48 | type: string 49 | defaultValue: '' 50 | description: Set the Netlify environment. 51 | secret: false 52 | required: false 53 | path: 54 | type: string 55 | defaultValue: '' 56 | description: Path to a folder or zip file to deploy. 57 | secret: false 58 | required: false 59 | -------------------------------------------------------------------------------- /plugins/newrelic-deployment/content.yaml: -------------------------------------------------------------------------------- 1 | title: Newrelic Deployment 2 | author: CityFurniture 3 | tags: 4 | - newrelic 5 | logo: newrelic.svg 6 | repo: https://github.com/cityfurniture/newrelic-deployment 7 | image: https://hub.docker.com/r/cityfurniture/drone-newrelic-deployment 8 | license: Apache License 2.0 9 | readme: https://github.com/CityFurniture/newrelic-deployment/blob/master/README.md 10 | description: >- 11 | The Newrelic deployment plugin reports/logs your deployment to your dashboard 12 | to make it easy to track changes. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: newrelic 19 | image: cityfurniture/drone-newrelic-deployment 20 | settings: 21 | api_key: 22 | app_name: 23 | properties: 24 | api_key: 25 | type: string 26 | defaultValue: '' 27 | description: Your Newrelic API key. 28 | secret: true 29 | required: true 30 | app_name: 31 | type: string 32 | defaultValue: '' 33 | description: Your Newrelic application name. 34 | secret: true 35 | required: true -------------------------------------------------------------------------------- /plugins/newrelic-deployment/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-09-19T00:00:00+00:00 3 | title: Newrelic Deployment 4 | author: CityFurniture 5 | tags: [ newrelic ] 6 | logo: newrelic.svg 7 | repo: cityfurniture/newrelic-deployment 8 | image: cityfurniture/drone-newrelic-deployment 9 | --- 10 | 11 | The Newrelic deployment plugin reports/logs your deployment to your dashboard to make it easy to track changes. 12 | 13 | ```yaml 14 | - name: Newrelic - Push Deployment 15 | image: cityfurniture/drone-newrelic-deployment 16 | settings: 17 | app_id: YOUR_APP_ID 18 | api_key: YOUR_API_KEY 19 | ``` 20 | 21 | Currently the plugin collects info from: 22 | 23 | - Commit Author `DRONE_COMMIT_AUTHOR` or falls back to `Drone CI` 24 | 25 | - Commit SHA `DRONE_COMMIT_SHA` for Revision. 26 | 27 | - `DRONE_COMMIT_MESSAGE` for both changelog and description. 28 | 29 | # Parameter Reference 30 | 31 | app_id 32 | : Newrelic APP ID 33 | 34 | api_key 35 | : Newrelic API Key -------------------------------------------------------------------------------- /plugins/nomad/content.yaml: -------------------------------------------------------------------------------- 1 | title: Nomad 2 | author: loq9 3 | tags: 4 | - nomad 5 | - orchestration 6 | logo: nomad.svg 7 | repo: https://github.com/loq9/drone-nomad 8 | image: https://hub.docker.com/r/loq9/drone-nomad 9 | license: Apache License 2.0 10 | readme: https://github.com/LOQ9/drone-nomad/blob/master/README.md 11 | description: >- 12 | Use the Nomad plugin to deploy services from a template. You will need to 13 | supply Drone with the nomad template file. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: deploy 20 | image: loq9/drone-nomad 21 | settings: 22 | addr: https://your.nomad.server/... 23 | template: nomad-template.hcl 24 | properties: 25 | addr: 26 | type: string 27 | defaultValue: '' 28 | description: The Nomad server address 29 | secret: false 30 | required: true 31 | template: 32 | type: string 33 | defaultValue: '' 34 | description: Template for Nomad 35 | secret: false 36 | required: true 37 | region: 38 | type: string 39 | defaultValue: '' 40 | description: Nomad region 41 | secret: false 42 | required: false 43 | namespace: 44 | type: string 45 | defaultValue: '' 46 | description: Nomad namespace 47 | secret: false 48 | required: false 49 | token: 50 | type: string 51 | defaultValue: '' 52 | description: Nomad token 53 | secret: true 54 | required: false 55 | -------------------------------------------------------------------------------- /plugins/npm-auth/content.yaml: -------------------------------------------------------------------------------- 1 | title: NPM Auth 2 | author: robertstettner 3 | tags: 4 | - authentication 5 | - npm 6 | - node 7 | logo: npm2.svg 8 | repo: https://github.com/robertstettner/drone-npm-auth 9 | image: https://hub.docker.com/r/robertstettner/drone-npm-auth 10 | license: MIT License 11 | readme: https://github.com/robertstettner/drone-npm-auth/blob/master/README.md 12 | description: This plugin is used to generate an .npmrc file locally to authenticate against any public/private NPM repository. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | steps: 17 | - name: npm-auth 18 | image: robertstettner/drone-npm-auth 19 | settings: 20 | username: joebloggs 21 | password: mypass 22 | email: jb@me.com 23 | properties: 24 | username: 25 | type: string 26 | defaultValue: '' 27 | description: The NPM username 28 | secret: false 29 | required: true 30 | password: 31 | type: string 32 | defaultValue: '' 33 | description: The NPM password 34 | secret: true 35 | required: true 36 | email: 37 | type: string 38 | defaultValue: '' 39 | description: The NPM email 40 | secret: false 41 | required: true 42 | registry: 43 | type: string 44 | defaultValue: https://registry.npmjs.org 45 | description: The NPM registry 46 | secret: false 47 | required: false 48 | scope: 49 | type: string 50 | defaultValue: '' 51 | description: The NPM scope 52 | secret: false 53 | required: false 54 | path: 55 | type: string 56 | defaultValue: ./ 57 | description: Output path of the generated .npmrc file. 58 | secret: false 59 | required: false 60 | -------------------------------------------------------------------------------- /plugins/npm-auth/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2017-07-27T00:00:00+00:00 4 | title: NPM Auth 5 | author: robertstettner 6 | tags: [ authentication, npm, node ] 7 | logo: npm2.svg 8 | repo: robertstettner/drone-npm-auth 9 | image: robertstettner/drone-npm-auth 10 | --- 11 | This plugin is used to generate an `.npmrc` file locally to authenticate against any public/private NPM repository. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | pipeline: 15 | npm_auth: 16 | image: robertstettner/drone-npm-auth 17 | username: joebloggs 18 | password: mypass 19 | email: jb@me.com 20 | ``` 21 | 22 | Example configuration using credentials from secrets: 23 | 24 | ```diff 25 | pipeline: 26 | npm_auth: 27 | image: robertstettner/drone-npm-auth 28 | - username: joebloggs 29 | - password: mypass 30 | - email: jb@me.com 31 | + secrets: [ npm_username, npm_password, npm_email ] 32 | ``` 33 | 34 | # Secret Reference 35 | 36 | npm_username 37 | : The NPM username. 38 | 39 | npm_password 40 | : The NPM password. 41 | 42 | npm_email 43 | : The NPM email. 44 | 45 | # Parameter Reference 46 | 47 | username 48 | : The NPM username. Required. 49 | 50 | password 51 | : The NPM password. Required. 52 | 53 | email 54 | : The NPM email. Required. 55 | 56 | registry 57 | : The NPM registry. Defaults to the default NPM registry. 58 | 59 | scope 60 | : Scope of the NPM authentication. Optional. 61 | 62 | path 63 | : Output path of the generated `.npmrc` file. Defaults to `./`. 64 | -------------------------------------------------------------------------------- /plugins/npm/content.yaml: -------------------------------------------------------------------------------- 1 | title: NPM 2 | author: donny-dont 3 | tags: 4 | - publish 5 | - npm 6 | - node 7 | logo: npm.svg 8 | repo: https://github.com/drone-plugins/drone-npm 9 | image: https://hub.docker.com/r/plugins/npm 10 | license: Apache License 2.0 11 | readme: https://github.com/drone-plugins/drone-npm/blob/master/README.md 12 | description: >- 13 | The NPM plugin can be used to publish libraries to public or private 14 | registries. 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: npm 21 | image: plugins/npm 22 | settings: 23 | username: bob 24 | password: password 25 | email: bob@bob.me 26 | properties: 27 | username: 28 | type: string 29 | defaultValue: '' 30 | description: the username for the account to publish with 31 | secret: false 32 | required: true 33 | password: 34 | type: string 35 | defaultValue: '' 36 | description: the password for the account to publish with 37 | secret: true 38 | required: true 39 | token: 40 | type: string 41 | defaultValue: '' 42 | description: the token for the account to publish with 43 | secret: true 44 | required: false 45 | email: 46 | type: string 47 | defaultValue: '' 48 | description: the email for the account to publish with 49 | secret: false 50 | required: false 51 | registry: 52 | type: string 53 | defaultValue: https://registry.npmjs.org 54 | description: the registry to publish to 55 | secret: false 56 | required: false 57 | folder: 58 | type: string 59 | defaultValue: the workspace directory 60 | description: the folder, relative to the workspace, containing the library. 61 | secret: false 62 | required: false 63 | access: 64 | type: string 65 | defaultValue: "" 66 | description: NPM scoped package access 67 | secret: false 68 | required: false 69 | -------------------------------------------------------------------------------- /plugins/plugin-fossa/content.yaml: -------------------------------------------------------------------------------- 1 | title: fossa 2 | author: rancherlabs 3 | tags: 4 | - Analysis 5 | - report 6 | - fossa 7 | repo: https://github.com/rancherlabs/drone-plugin-fossa 8 | image: https://hub.docker.com/r/rancher/drone-fossa 9 | license: Apache License 2.0 10 | readme: https://github.com/rancherlabs/drone-plugin-fossa/blob/main/README.md 11 | description: >- 12 | By default, this plugin will run the analyze command per the generic CI documentation for FOSSA. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: fossa 19 | image: rancher/drone-fossa:latest 20 | settings: 21 | api_key: 22 | from_secret: FOSSA_API_KEY 23 | properties: 24 | api_key: 25 | type: string 26 | defaultValue: '' 27 | description: FOSSA API key. 28 | secret: true 29 | required: true 30 | debug: 31 | type: boolean 32 | defaultValue: false 33 | description: Enable debug mode. 34 | secret: false 35 | required: false 36 | -------------------------------------------------------------------------------- /plugins/probely/content.yaml: -------------------------------------------------------------------------------- 1 | title: Probely 2 | author: tmendo 3 | tags: 4 | - Security 5 | - Probely 6 | - Scanner 7 | - Security-scanner 8 | - Security-automation 9 | - Security-tools 10 | - Dast 11 | logo: probely.svg 12 | repo: https://github.com/Probely/drone-io 13 | image: https://hub.docker.com/r/probely/drone-io 14 | readme: https://github.com/Probely/drone-io/blob/main/README.md 15 | description: >- 16 | The plugin provides an easy and efficient integration of Dynamic Application Security Testing (DAST) done with Probely into your drone CI pipelines. 17 | example: | 18 | kind: pipeline 19 | type: docker 20 | name: default 21 | 22 | steps: 23 | - name: probely-scan 24 | image: probely/drone-io:latest 25 | settings: 26 | api_key: API_KEY 27 | target_id: TARGET_ID 28 | region: eu 29 | scan_profile: normal 30 | properties: 31 | api_key: 32 | type: string 33 | defaultValue: "" 34 | description: Probely's API Key 35 | secret: true 36 | required: true 37 | target: 38 | type: string 39 | defaultValue: "" 40 | description: >- 41 | Probely's identifier of the target to scan 42 | secret: false 43 | required: true 44 | region: 45 | type: string 46 | defaultValue: "" 47 | description: >- 48 | Probely's region where your account is hosted 49 | secret: false 50 | required: true 51 | scan-profile: 52 | type: string 53 | defaultValue: "" 54 | description: >- 55 | The scan profile to use in the scan. If not defined, the scan profile will be the one defined in the target settings. 56 | secret: false 57 | required: false 58 | -------------------------------------------------------------------------------- /plugins/pypi/content.yaml: -------------------------------------------------------------------------------- 1 | title: PyPI 2 | author: drone-plugins 3 | tags: 4 | - publish 5 | - python 6 | - pypi 7 | logo: pypi.svg 8 | repo: https://github.com/drone-plugins/drone-pypi 9 | image: https://hub.docker.com/r/plugins/pypi 10 | license: Apache License 2.0 11 | readme: https://github.com/drone-plugins/drone-pypi/blob/master/README.md 12 | description: >- 13 | This plugin allows you to publish Python pypi packages as part of your 14 | pipeline. 15 | example: | 16 | kind: pipeline 17 | name: default 18 | 19 | steps: 20 | - name: pypi_publish 21 | image: plugins/pypi 22 | settings: 23 | username: john 24 | password: secret 25 | properties: 26 | username: 27 | type: string 28 | defaultValue: '' 29 | description: Username to be used for the pypi publish. 30 | secret: false 31 | required: true 32 | password: 33 | type: string 34 | defaultValue: '' 35 | description: Password to be used for the pypi publish. 36 | secret: true 37 | required: true 38 | repository: 39 | type: string 40 | defaultValue: https://upload.pypi.org/legacy/ 41 | description: The URL of the repository to be published to. 42 | secret: false 43 | required: false 44 | distributions: 45 | type: string 46 | defaultValue: only sdist 47 | description: List of distribution types to publish. 48 | secret: false 49 | required: false 50 | setupfile: 51 | type: string 52 | defaultValue: setup.py 53 | description: The relative path from the workspace root to the setup.py file to be used. 54 | secret: false 55 | required: false 56 | skip_build: 57 | type: boolean 58 | defaultValue: false 59 | description: Skip the build and only upload pre-build files from dist/*. 60 | secret: false 61 | required: false 62 | -------------------------------------------------------------------------------- /plugins/qodana-jvm-community-plugin/content.yaml: -------------------------------------------------------------------------------- 1 | title: Qodana JVM Community 2 | author: 2martens 3 | tags: 4 | - Qodana 5 | - Analysis 6 | - report 7 | repo: https://github.com/2martens/qodana-jvm-community-drone-plugin 8 | image: https://hub.docker.com/r/2martens/qodana-jvm-community-drone-plugin 9 | license: Apache License 2.0 10 | readme: https://github.com/2martens/qodana-jvm-community-drone-plugin/blob/master/README.md 11 | description: >- 12 | This plugin allows you to run the Qodana JVM Community linter in Drone and publish the results 13 | to Qodana Cloud. The Community license is enough. 14 | example: | 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: code-analysis 20 | image: 2martens/qodana-jvm-community-drone-plugin 21 | settings: 22 | qodana_token: yourSecretTokenFromQodanaCloud 23 | args: yourArgumentsToQodanaCommand 24 | properties: 25 | qodana_token: 26 | type: string 27 | defaultValue: '' 28 | description: Qodana token used to publish analysis results to Qodana cloud. 29 | secret: true 30 | required: true 31 | args: 32 | type: string 33 | defaultValue: '' 34 | description: Arguments passed to Qodana command. For example --baseline or --failure-threshold 35 | secret: false 36 | required: true 37 | 38 | -------------------------------------------------------------------------------- /plugins/rancher-stack-v1/content.yaml: -------------------------------------------------------------------------------- 1 | title: Rancher Stack v1 2 | author: wayneconnolly 3 | tags: 4 | - deploy 5 | - rancher 6 | - stack 7 | - v1 8 | - docker 9 | logo: rancher.svg 10 | repo: https://github.com/wayneconnolly/drone-rancher-stack-v1 11 | image: https://hub.docker.com/r/dubc/drone-rancher-stack-v1 12 | license: None 13 | readme: https://github.com/wayneconnolly/drone-rancher-stack-v1/blob/master/README.md 14 | description: >- 15 | A drone.io Rancher Stack plugin to deploy/update an entire Rancher stack (not 16 | just a single service) to Rancher v1.6. See Docker Hub for more information. 17 | example: | 18 | kind: pipeline 19 | name: default 20 | 21 | steps: 22 | - name: rancher-v1-staging-upgrade 23 | image: dubc/drone-rancher-stack-v1 24 | settings: 25 | url: rancher.domain.com 26 | stack: app-staging 27 | accesskey: RANCHER_ACCESS_KEY 28 | secretkey: RANCHER_SECRET_KEY 29 | pull: true 30 | properties: 31 | url: 32 | type: string 33 | defaultValue: '' 34 | description: The url where your rancher resides. E.g rancher.domain.com 35 | required: true 36 | secret: false 37 | stack: 38 | type: string 39 | defaultValue: '' 40 | description: This stack must already exist in your rancher environment. E.g app-staging. 41 | required: true 42 | secret: false 43 | accesskey: 44 | type: string 45 | defaultValue: '' 46 | description: The access key for your rancher environment. 47 | required: true 48 | secret: true 49 | secretkey: 50 | type: string 51 | defaultValue: '' 52 | description: The secret key for your rancher environment. 53 | required: true 54 | secret: true 55 | pull: 56 | type: boolean 57 | defaultValue: true 58 | description: Makes sure you get the latest plugin version. 59 | required: false 60 | secret: false 61 | 62 | -------------------------------------------------------------------------------- /plugins/rancher-stack-v1/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2018-07-02T00:00:00+00:00 4 | title: Rancher Stack v1 5 | author: wayneconnolly 6 | tags: [ deploy, rancher, stack, v1, docker ] 7 | logo: rancher.svg 8 | repo: wayneconnolly/drone-rancher-stack-v1 9 | image: dubc/drone-rancher-stack-v1 10 | --- 11 | 12 | A drone.io Rancher Stack plugin to deploy/update an entire Rancher stack (not just a single service) to [Rancher v1.6](https://rancher.com/docs/rancher/v1.6/en/). See [Docker Hub](https://hub.docker.com/r/dubc/drone-rancher-stack-v1/) for more information. 13 | 14 | ```yaml 15 | pipeline: 16 | compile-javascript: 17 | image: node:8.9.4 18 | commands: 19 | - yarn 20 | - yarn build 21 | - git clone 'https://github.com/USERNAME/app-rancher-stack.git' rancher 22 | 23 | docker-registry-push: 24 | image: plugins/docker 25 | repo: registry.domain.com:5000/app 26 | registry: registry.domain.com:5000 27 | username: REGISTRY_USERNAME 28 | password: REGISTRY_PASSWORD 29 | insecure: true 30 | pull: true 31 | 32 | rancher-v1-staging-upgrade: 33 | image: dubc/drone-rancher-stack-v1 34 | url: rancher.domain.com 35 | stack: app-staging 36 | accesskey: RANCHER_ACCESS_KEY 37 | secretkey: RANCHER_SECRET_KEY 38 | pull: true 39 | ``` 40 | 41 | # Parameter Reference 42 | 43 | url 44 | : The url where your rancher resides. E.g rancher.domain.com 45 | 46 | stack 47 | : This stack must already exist in your rancher environment. E.g app-staging 48 | 49 | accesskey 50 | : Your Rancher environment Access_Key 51 | 52 | secretkey 53 | : Your Rancher environment Secret_Key 54 | 55 | pull 56 | : true. Makes sure you get the latest plugin version 57 | -------------------------------------------------------------------------------- /plugins/rocket/content.yaml: -------------------------------------------------------------------------------- 1 | title: Rocket.Chat 2 | author: mike1pol 3 | tags: 4 | - notifications 5 | - chat 6 | logo: rocket.chat.svg 7 | repo: https://github.com/mike1pol/drone-rocket 8 | image: https://hub.docker.com/r/mike1pol/drone-rocket 9 | license: None 10 | readme: https://github.com/mike1pol/drone-rocket/blob/master/README.md 11 | description: Drone plugin for sending message to Rocket.Chant channel using API. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | steps: 16 | - name: rocket 17 | image: mike1pol/drone-rocket 18 | settings: 19 | url: xxxxxxxxxx 20 | user_id: xxxxxxxxxx 21 | token: xxxxxxxxxx 22 | channel: xxxxxxxxxx 23 | properties: 24 | url: 25 | type: string 26 | defaultValue: '' 27 | description: Rocket.chat url 28 | required: true 29 | secret: false 30 | user_id: 31 | type: string 32 | defaultValue: '' 33 | description: Rocket.chat user id 34 | required: true 35 | secret: false 36 | token: 37 | type: string 38 | defaultValue: '' 39 | description: Rocket.chat token 40 | required: true 41 | secret: true 42 | channel: 43 | type: string 44 | defaultValue: '' 45 | description: Rocket.chat channel 46 | required: true 47 | secret: false 48 | avatar_url: 49 | type: string 50 | defaultValue: '' 51 | description: override the default avatar of the user 52 | required: false 53 | secret: false 54 | message: 55 | type: string 56 | defaultValue: '' 57 | description: the message contents (up to 2000 characters) 58 | required: true 59 | secret: false 60 | -------------------------------------------------------------------------------- /plugins/serverchan/content.yaml: -------------------------------------------------------------------------------- 1 | title: ServerChan(Server酱) 2 | author: yakumioto 3 | tags: 4 | - serverchan 5 | - Server酱 6 | logo: serverchan.svg 7 | repo: https://github.com/yakumioto/drone-serverchan 8 | image: https://hub.docker.com/r/yakumioto/drone-serverchan 9 | license: MIT License 10 | readme: https://github.com/yakumioto/drone-serverchan/blob/master/README.md 11 | description: The ServerChan plugin posts build status messages to your account. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: send-wechat 18 | image: yakumioto/serverchan 19 | settings: 20 | key: SCU48558T164ff96a3316d8a22cacea21d66b5caed80baa044 21 | text: hello world 22 | desp: Send by ServerChan 23 | properties: 24 | key: 25 | type: string 26 | defaultValue: '' 27 | description: ServerChan key. 28 | secret: true 29 | required: true 30 | text: 31 | type: string 32 | defaultValue: '' 33 | description: Notification title 34 | secret: false 35 | required: true 36 | desp: 37 | type: string 38 | defaultValue: '' 39 | description: Message description. 40 | secret: false 41 | required: false -------------------------------------------------------------------------------- /plugins/serverchan/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2019-04-22T00:00:00+08:00 3 | title: ServerChan(Server酱) 4 | author: yakumioto 5 | tags: [ serverchan, Server酱 ] 6 | logo: serverchan.svg 7 | repo: yakumioto/drone-serverchan 8 | image: yakumioto/drone-serverchan 9 | --- 10 | 11 | The ServerChan plugin posts build status messages to your account. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | --- 15 | kind: pipeline 16 | name: default 17 | 18 | steps: 19 | - name: send-wechat 20 | image: yakumioto/serverchan 21 | settings: 22 | key: SCU48558T164ff96a3316d8a22cacea21d66b5caed80baa044 23 | text: hello world 24 | desp: Send by ServerChan 25 | ``` 26 | 27 | # Parameter Reference 28 | 29 | key 30 | : The ServerChan(Server酱) key, get key by 31 | 32 | text 33 | : Notification title 34 | 35 | desp 36 | : Notification body message, support markdown -------------------------------------------------------------------------------- /plugins/snyk/content.yaml: -------------------------------------------------------------------------------- 1 | title: Snyk 2 | author: drone-plugins 3 | tags: 4 | - security 5 | - docker 6 | logo: snyk.svg 7 | repo: https://github.com/drone-plugins/drone-snyk 8 | image: https://hub.docker.com/r/plugins/drone-snyk 9 | readme: https://github.com/drone-plugins/drone-snyk/blob/master/README.md 10 | license: Apache License 2.0 11 | description: >- 12 | A plugin to scan container images for vulnerabilities using Snyk. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: scan 19 | image: drone-plugins/drone-snyk 20 | pull: if-not-exists 21 | privileged: true 22 | settings: 23 | dockerfile: link to dockerfile in repo 24 | image: image name 25 | snyk: 26 | from_secret: snyk 27 | fail_on_issues: false 28 | properties: 29 | dockerfile: 30 | type: string 31 | defaultValue: "" 32 | description: Path to the Dockerfile to use. 33 | secret: false 34 | required: false 35 | image: 36 | type: string 37 | defaultValue: "" 38 | description: Name of the image to scan. 39 | secret: false 40 | required: true 41 | snyk: 42 | type: string 43 | defaultValue: "" 44 | description: Snyk token. 45 | secret: true 46 | required: false 47 | severity_threshold: 48 | type: string 49 | defaultValue: "" 50 | description: Severity threshold. 51 | secret: false 52 | required: false 53 | fail_on_issues: 54 | type: boolean 55 | defaultValue: false 56 | description: Fail build if issues are found. 57 | secret: false 58 | required: false 59 | 60 | -------------------------------------------------------------------------------- /plugins/sonar-plugin/content.yaml: -------------------------------------------------------------------------------- 1 | title: SonarQube 2 | author: aosapps 3 | tags: 4 | - Sonar 5 | - SonarQube 6 | - Analysis 7 | - report 8 | logo: sonarqube.svg 9 | repo: https://github.com/aosapps/drone-sonar-plugin 10 | image: https://hub.docker.com/r/aosapps/drone-sonar-plugin 11 | license: MIT License 12 | readme: https://github.com/aosapps/drone-sonar-plugin/blob/master/README.md 13 | description: >- 14 | This plugin can scan your code quality and post the analysis report to your 15 | SonarQube server. SonarQube (previously called Sonar), is an open source code 16 | quality management platform. 17 | example: | 18 | kind: pipeline 19 | name: default 20 | 21 | steps: 22 | - name: code-analysis 23 | image: aosapps/drone-sonar-plugin 24 | settings: 25 | sonar_host: 26 | from_secret: sonar_host 27 | sonar_token: 28 | from_secret: sonar_token 29 | properties: 30 | sonar_host: 31 | type: string 32 | defaultValue: '' 33 | description: Hostname of the sonar server. 34 | secret: false 35 | required: true 36 | sonar_token: 37 | type: string 38 | defaultValue: "" 39 | description: Access token. 40 | secret: true 41 | required: true 42 | -------------------------------------------------------------------------------- /plugins/upx/content.yaml: -------------------------------------------------------------------------------- 1 | title: UPX 2 | author: cnbattle 3 | tags: 4 | - upx 5 | logo: upx.svg 6 | repo: https://github.com/cnbattle/drone-upx 7 | image: https://hub.docker.com/r/cnbattle/drone-upx 8 | license: None 9 | readme: https://github.com/cnbattle/drone-upx/blob/master/README.md 10 | description: The UPX plugin can be used to pack executables. 11 | example: | 12 | kind: pipeline 13 | name: default 14 | steps: 15 | - name: upx 16 | image: cnbattle/drone-upx 17 | settings: 18 | level: 9 //default 5 19 | save_file: ./executable_upx_file 20 | original_file: ./executable_original_file 21 | properties: 22 | level: 23 | type: string 24 | defaultValue: 5 25 | description: Compression level, a value between 1 and 9, the bigger the better. 26 | secret: false 27 | required: false 28 | save_file: 29 | type: string 30 | defaultValue: '' 31 | description: The path to the file to save the upx file. 32 | secret: false 33 | required: false 34 | original_file: 35 | type: string 36 | defaultValue: '' 37 | description: The path to the file to save the original file. 38 | secret: false 39 | required: false 40 | -------------------------------------------------------------------------------- /plugins/upx/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2016-01-01T00:00:00+00:00 3 | title: UPX 4 | author: cnbattle 5 | tags: [ "upx" ] 6 | repo: "cnbattle/drone-upx" 7 | logo: "upx.svg" 8 | image: "cnbattle/drone-upx" 9 | --- 10 | 11 | The UPX plugin can be used to pack executables. The below pipeline configuration demonstrates simple usage: 12 | 13 | ```yaml 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: drone-upx 19 | image: cnbattle/drone-upx 20 | settings: 21 | save_file: ./executable_upx_file 22 | original_file: ./executable_original_file 23 | ``` 24 | 25 | Compression level: 26 | 27 | ```diff 28 | steps: 29 | - name: drone-upx 30 | image: cnbattle/drone-upx 31 | settings: 32 | save_file: ./executable_upx_file 33 | original_file: ./executable_original_file 34 | + level: 9 35 | ``` 36 | 37 | # Parameter Reference 38 | 39 | level 40 | : Compression level, a value between 1 and 9, the bigger the better. 41 | 42 | original_file 43 | : An original file to be processed. 44 | 45 | save_file 46 | : Save the path and file name of the compressed file. -------------------------------------------------------------------------------- /plugins/volume-cache/content.yaml: -------------------------------------------------------------------------------- 1 | title: Volume Cache 2 | author: drillster 3 | tags: 4 | - cache 5 | logo: volume_cache.svg 6 | repo: https://github.com/drillster/drone-volume-cache 7 | image: https://hub.docker.com/r/drillster/drone-volume-cache 8 | license: MIT License 9 | readme: https://github.com/Drillster/drone-volume-cache/blob/master/README.md 10 | description: >- 11 | The volume cache plugin can be used to preserve files and directories between 12 | builds. 13 | example: | 14 | kind: pipeline 15 | name: default 16 | 17 | steps: 18 | - name: restore-cache 19 | image: drillster/drone-volume-cache 20 | volumes: 21 | - name: cache 22 | path: /cache 23 | settings: 24 | restore: true 25 | mount: 26 | - ./node_modules 27 | - name: rebuild-cache 28 | image: drillster/drone-volume-cache 29 | volumes: 30 | - name: cache 31 | path: /cache 32 | settings: 33 | rebuild: true 34 | mount: 35 | - ./node_modules 36 | 37 | volumes: 38 | - name: cache 39 | host: 40 | path: /tmp/cache 41 | properties: 42 | restore: 43 | type: boolean 44 | defaultValue: false 45 | description: Restore cache from previous build. 46 | secret: false 47 | required: false 48 | rebuild: 49 | type: boolean 50 | defaultValue: false 51 | description: Rebuild cache. 52 | secret: false 53 | required: false 54 | mount: 55 | type: array 56 | defaultValue: [] 57 | description: list of folders or files to cache 58 | secret: false 59 | required: false -------------------------------------------------------------------------------- /plugins/volume-cache/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2018-04-11T00:00:00+00:00 4 | title: WebDAV 5 | author: vividboarder 6 | tags: [ deploy, publish ] 7 | logo: term.svg 8 | repo: vividboarder/drone-webdav 9 | image: vividboarder/drone-webdav 10 | --- 11 | 12 | The WebDAV plugin will allow pushing build artifacts to any WebDAV server, including Nextcloud or ownCloud. 13 | 14 | An example configuration would be as follows: 15 | 16 | ```yaml 17 | pipeline: 18 | upload_debug: 19 | image: vividboarder/drone-webdav 20 | file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk 21 | destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/ 22 | username: myusername 23 | password: mypassword 24 | ``` 25 | 26 | You probably don't want to check your credentials into your repo, so you may use secrets for this: 27 | 28 | ```diff 29 | pipeline: 30 | upload_debug: 31 | image: vividboarder/drone-webdav 32 | file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk 33 | destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/ 34 | - username: myusername 35 | - password: mypassword 36 | + secrets: [webdav_username, webdav_password] 37 | ``` 38 | 39 | # Secret Reference 40 | 41 | webdav_username, username 42 | : webdav server username 43 | 44 | webdav_password, password 45 | : webdav server password 46 | 47 | # Parameter Reference 48 | 49 | file 50 | : location of the file to upload 51 | 52 | destination 53 | : directory to copy the file to 54 | -------------------------------------------------------------------------------- /plugins/webdav/content.yaml: -------------------------------------------------------------------------------- 1 | title: WebDAV 2 | author: vividboarder 3 | tags: 4 | - deploy 5 | - publish 6 | logo: term.svg 7 | repo: https://github.com/vividboarder/drone-webdav 8 | image: https://hub.docker.com/r/vividboarder/drone-webdav 9 | license: None 10 | readme: https://github.com/ViViDboarder/drone-webdav/blob/master/Readme.md 11 | description: The WebDAV plugin will allow pushing build artifacts to any WebDAV server, including Nextcloud or ownCloud. 12 | example: | 13 | kind: pipeline 14 | name: default 15 | 16 | steps: 17 | - name: upload_debug 18 | image: vividboarder/drone-webdav 19 | settings: 20 | file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk 21 | destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/ 22 | username: admin 23 | password: password 24 | properties: 25 | file: 26 | type: string 27 | defaultValue: '' 28 | description: The path to the file to upload. 29 | secret: false 30 | required: true 31 | destination: 32 | type: string 33 | defaultValue: '' 34 | description: The destination URL. 35 | secret: false 36 | required: true 37 | username: 38 | type: string 39 | defaultValue: '' 40 | description: The username to authenticate with. 41 | secret: false 42 | required: true 43 | password: 44 | type: string 45 | defaultValue: '' 46 | description: The password to authenticate with. 47 | secret: true 48 | required: false -------------------------------------------------------------------------------- /plugins/webdav/original.md: -------------------------------------------------------------------------------- 1 | --- 2 | version: '0.8' 3 | date: 2018-04-11T00:00:00+00:00 4 | title: WebDAV 5 | author: vividboarder 6 | tags: [ deploy, publish ] 7 | logo: term.svg 8 | repo: vividboarder/drone-webdav 9 | image: vividboarder/drone-webdav 10 | --- 11 | 12 | The WebDAV plugin will allow pushing build artifacts to any WebDAV server, including Nextcloud or ownCloud. 13 | 14 | An example configuration would be as follows: 15 | 16 | ```yaml 17 | pipeline: 18 | upload_debug: 19 | image: vividboarder/drone-webdav 20 | file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk 21 | destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/ 22 | username: myusername 23 | password: mypassword 24 | ``` 25 | 26 | You probably don't want to check your credentials into your repo, so you may use secrets for this: 27 | 28 | ```diff 29 | pipeline: 30 | upload_debug: 31 | image: vividboarder/drone-webdav 32 | file: com.vividboarder.otbeta/build/outputs/apk/com.vividboarder.otbeta-debug.apk 33 | destination: https://my.nextcloud.com/remote.php/dav/files/vividboarder/Android/Apks/ 34 | - username: myusername 35 | - password: mypassword 36 | + secrets: [webdav_username, webdav_password] 37 | ``` 38 | 39 | # Secret Reference 40 | 41 | webdav_username, username 42 | : webdav server username 43 | 44 | webdav_password, password 45 | : webdav server password 46 | 47 | # Parameter Reference 48 | 49 | file 50 | : location of the file to upload 51 | 52 | destination 53 | : directory to copy the file to 54 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/favicon.ico -------------------------------------------------------------------------------- /public/icons/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/icons/rightArrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/icons/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/icons/sort.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/icons/tick.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/logo.png -------------------------------------------------------------------------------- /public/logos/acr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/airbrake.svg: -------------------------------------------------------------------------------- 1 | isotype -------------------------------------------------------------------------------- /public/logos/amazon_beanstalk.svg: -------------------------------------------------------------------------------- 1 | 2 | Compute 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /public/logos/amazon_cloudformation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/amazon_ecr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /public/logos/amazon_ecs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /public/logos/amazon_lambda.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /public/logos/amazon_rds.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/amazon_s3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /public/logos/ansible.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/logos/apex-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.15, written by Peter Selinger 2001-2017 9 | 10 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /public/logos/bluemix.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/buildah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/logos/buildah.png -------------------------------------------------------------------------------- /public/logos/capistrano.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/logos/capistrano.png -------------------------------------------------------------------------------- /public/logos/captains_log.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /public/logos/circleci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/logos/circleci.png -------------------------------------------------------------------------------- /public/logos/clair.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/logos/cloud_run.svg: -------------------------------------------------------------------------------- 1 | Icon_24px_CloudRun_Color -------------------------------------------------------------------------------- /public/logos/cloudflare.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/logos/deta.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /public/logos/discord.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/douban.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/logos/download.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /public/logos/drone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/logos/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/ftps.svg: -------------------------------------------------------------------------------- 1 | FTPS -------------------------------------------------------------------------------- /public/logos/git.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /public/logos/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/gitlab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/gitleaks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/logos/gitleaks.png -------------------------------------------------------------------------------- /public/logos/gitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /public/logos/google-cloud.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /public/logos/google_gcf.svg: -------------------------------------------------------------------------------- 1 | 2 | Cloud Functions 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /public/logos/gtalk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/logos/jira.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/logos/matrix.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /public/logos/maven.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | m 4 | aven 5 | 6 | -------------------------------------------------------------------------------- /public/logos/mirror-plugin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/logos/now.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Now 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /public/logos/npm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/logos/rsync.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/logos/sonarqube-icon.svg: -------------------------------------------------------------------------------- 1 | SonarQube icon -------------------------------------------------------------------------------- /public/logos/sonarqube.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 10 | 13 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /public/logos/sonatype_nexus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/logos/sonatype_nexus.png -------------------------------------------------------------------------------- /public/logos/term.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/logos/terraform.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /public/logos/upx.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.16, written by Peter Selinger 2001-2019 9 | 10 | 12 | 16 | 20 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /public/logos/vercel-icon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/logos/volume_cache.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /public/logos/wechat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drone/drone-plugin-index/d968084339eb2bd380f701d639c6e2d85eeb314f/public/pipeline.png -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /scripts/buildPluginJson.mjs: -------------------------------------------------------------------------------- 1 | import fs from "fs"; 2 | import path from "path"; 3 | import filehound from "filehound"; 4 | import yaml from "js-yaml"; 5 | 6 | function main() { 7 | const pluginFiles = filehound 8 | .create() 9 | .paths("./plugins") 10 | .ignoreHiddenDirectories() 11 | .ignoreHiddenFiles() 12 | .glob(["content.yaml"]) 13 | .findSync(); 14 | const pluginsJSON = []; 15 | if (pluginFiles && pluginFiles.length > 0) { 16 | pluginFiles.forEach((pf) => { 17 | const pluginDirs = path.dirname(pf).split(path.sep); 18 | const pluginName = pluginDirs[pluginDirs.length - 1]; 19 | const strYAML = fs.readFileSync(pf).toString(); 20 | const doc = yaml.load(strYAML, "utf-8"); 21 | //find the plugin image name 22 | let image = doc.image; 23 | const exampleYAML = doc.example; 24 | if (exampleYAML) { 25 | const exampleYamlDoc = yaml.load(exampleYAML); 26 | if (exampleYamlDoc) { 27 | image = exampleYamlDoc.steps[0].image; 28 | } 29 | } 30 | 31 | pluginsJSON.push({ 32 | id: pluginName, 33 | name: doc.title, 34 | description: doc.description, 35 | image, 36 | tags: doc.tags, 37 | settings: doc.properties, 38 | example: exampleYAML, 39 | url: doc.repo, 40 | }); 41 | }); 42 | } 43 | fs.writeFileSync( 44 | "./pages/api/plugins/plugins.json", 45 | JSON.stringify(pluginsJSON) 46 | ); 47 | } 48 | 49 | main(); 50 | -------------------------------------------------------------------------------- /styles/404.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | justify-content: center; 6 | height: 100vh; 7 | } 8 | -------------------------------------------------------------------------------- /styles/Card.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | width: 329px; 3 | height: 148px; 4 | background-color: white; 5 | display: grid; 6 | grid-template-columns: 25% 75%; 7 | grid-template-rows: auto; 8 | grid-template-areas: 9 | "image title" 10 | "image pills" 11 | "image info"; 12 | box-shadow: 0px 0px 1px rgba(40, 41, 61, 0.08), 13 | 0px 0.5px 2px rgba(96, 97, 112, 0.16); 14 | border-radius: 5px; 15 | cursor: pointer; 16 | } 17 | 18 | .pluginTitle { 19 | grid-area: title; 20 | font-size: 15px; 21 | padding-top: 21px; 22 | font-weight: 600; 23 | } 24 | 25 | .pillContainer { 26 | grid-area: pills; 27 | display: flex; 28 | gap: 6px; 29 | flex-wrap: wrap; 30 | } 31 | 32 | .pill { 33 | height: 20px; 34 | font-size: 9px; 35 | font-weight: 500; 36 | letter-spacing: 0.2px; 37 | display: flex; 38 | justify-content: center; 39 | padding: 3px 8px; 40 | background-color: #fafbfc; 41 | border-radius: 4px; 42 | color: #383946; 43 | text-transform: uppercase; 44 | border: 1px solid #f3f3fa; 45 | box-shadow: 0px 0px 2px rgba(40, 41, 61, 0.04); 46 | border-radius: 4px; 47 | } 48 | 49 | .logo { 50 | display: flex; 51 | align-items: flex-start; 52 | justify-content: center; 53 | grid-area: image; 54 | padding-top: 25px; 55 | } 56 | 57 | .infoContainer { 58 | display: flex; 59 | align-items: center; 60 | font-size: 10px; 61 | font-weight: 600; 62 | letter-spacing: 0.2px; 63 | grid-area: info; 64 | } 65 | 66 | .downloads { 67 | color: #9293ab; 68 | display: flex; 69 | align-items: center; 70 | } 71 | 72 | .verified { 73 | margin: 0 24px 0 auto; 74 | color: #0278d5; 75 | display: flex; 76 | align-items: center; 77 | } 78 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: Inter; 6 | line-height: 1.6; 7 | font-size: 18px; 8 | background-color: #fafcff; 9 | } 10 | 11 | * { 12 | box-sizing: border-box; 13 | } 14 | 15 | a { 16 | color: #0070f3; 17 | text-decoration: none; 18 | } 19 | 20 | a:hover { 21 | text-decoration: underline; 22 | } 23 | 24 | img { 25 | max-width: 100%; 26 | display: block; 27 | } 28 | --------------------------------------------------------------------------------