Explore plugins
Plugins perform predefined tasks. They are essentially templated scripts that can be written in any programming language. Plugins are also useful for integrating with other tools in your SDLC toolchain.
You can write your own plugins or use pre-built plugins, such as those in the Drone Plugins Marketplace, the Drone Plugins GitHub org, and the Harness Community GitHub org.
This page highlights some useful or interesting pre-built plugins. It is not an exhaustive list of all plugins. Plugins are organized by provider/tool or purpose.
To run plugins in CI pipelines, use Plugin steps.
Plugins for AWS
Plugin | Use | Source | Image |
---|---|---|---|
Apex Up | Use the apex/up tool to deploy infinitely scalable serverless apps, APIs, and sites to AWS. | drone-apex-up | appleboy/drone-apex-up |
AWS CloudFormation | Validate templates or create/update/delete stacks. | drone-cloudformation | robertstettner/drone-cloudformation |
AWS ECS | Deploy a Docker images to an ECS environment. You can also use Harness CD for deployments. | drone-ecs | pelotech/drone-ecs |
AWS ECS Deploy | Update an ECS service. The plugin is a wrapper for ecs-deploy . It takes the current task definition of a service and changes the image. All configuration stays the same. You can also use Harness CD for deployments. | drone-ecs-deploy | joshdvir/drone-ecs-deploy |
AWS Elastic Beanstalk | Deploy an app to a Beanstalk environment. | drone-elastic-beanstalk | pelotech/drone-elastic-beanstalk |
AWS Lambda | Deploy a serverless function to AWS Lambda from a zip file located in an S3 bucket. This plugin doesn't create or upload the zip file. | drone-lambda-plugin | omerxx/drone-lambda-plugin |
AWS RDS Snapper | Clean up a specific RDS instance's snapshots, keep a specified number of copies, and create new snapshots | rds-snapper | honestbee/rds-snapper |
AWS S3 Cache | Cache files and directories to S3 storage to preserve them between builds. You can also use the built-in Save and Restore Cache from S3 steps. | drone-s3-cache | plugins/s3-cache |
AWS S3 Sync | Synchronize files and build artifacts in a source directory with a destination directory. Directories can be local or in S3. | drone-s3-sync | plugins/s3-sync |
AWS S3 Upload and Publish | Upload artifacts to S3 and publish the artifact URL on the Artifacts tab. | drone-s3-upload-publish | harnesscommunity/drone-s3-upload-publish |
Plugins to build, upload, and deploy
Harness CI has built-in support for building and pushing artifacts and images, in addition to Harness CD for deployments.
Plugin | Use | Source | Image |
---|---|---|---|
Anynines | Deploy your app to the Anynines platform. | drone-anynines | plugins/anynines |
Artifact Metadata Publisher | Publish any URL to the Artifacts tab. | artifact-metadata-publisher | plugins/artifact-metadata-publisher |
Backblaze B2 | Upload files and build artifacts to a B2 bucket. | drone-b2 | techknowlogick/drone-b2 |
Bluemix Cloud Foundry | Deploy files or services to Bluemix. | drone-bluemix-cloudfoundry | ibmclouddevops/drone-bluemix-cloudfoundry |
Buildah | Build and push Docker images to a container registry. Primarily used to build and push with non-root users. | drone-buildah | plugins/buildah-acr, plugins/buildah-docker, plugins/buildah-ecr, plugins/buildah-gcr |
Capistrano | Deploy apps via the Capistrano Ruby Gem. | drone-capistrano | glaszig/drone-capistrano |
CircleCI | Trigger CircleCI builds automatically. | drone-circleci | wesleimp/drone-circleci |
Cloud Foundry | Deploy files or services to Cloud Foundry. | drone-cloudfoundry | cheslip/drone-cloudfoundry |
Crowdin | Submit translation files to Crowdin. | drone-crowdin | jonasfranz/crowdin |
Deta | Deploy your build to deta.sh. | drone-deta | lizheming/drone-deta |
Downstream Build | Trigger builds for a list of downstream repositories. | drone-downstream | plugins/downstream |
Fandogh | Deliver Docker images to Fandogh PaaS. | fandogh-drone | amirbagh75/fandogh-drone |
FTP(S) | Publish artifacts over FTP(S). | drone-ftps | cschlosser/drone-ftps |
GitLab-CI | Trigger GitLab CI jobs. | drone-gitlab-ci | appleboy/drone-gitlab-ci |
Git Push | Deploy an application via git push . You must supply a private SSH key or use the same credentials as the cloned repo to being able to push changes. | drone-git-push | appleboy/drone-git-push |
Heroku | Build and push images to Heroku container registry. | drone-docker | plugins/heroku |
Hugo | Generate static web page files that you can then publish. | drone-hugo | plugins/hugo |
Image Migration | Migrate images from one Docker registry to another. | drone-docker-image-migration | plugins/image-migration |
Java Maven | Build Java applications using the Apache Maven build tool. | drone-java-maven-plugin | kameshsampath/drone-java-maven-plugin |
Jenkins | Trigger Jenkins jobs. | drone-jenkins | appleboy/drone-jenkins |
Load and Store | Build and push images to a Docker registry. This is useful when you can't use the built-in Build and Push to Docker step, such as when building Docker images with nix, which produces a Docker image archive. | drone-load-and-store | allgreed/drone-load-and-store |
Manifest | Push manifests for multi-architecture Docker images. | drone-manifest | plugins/manifest |
Marathon | Deploy apps to a Marathon server. | drone-marathon | e20co/drone-marathon |
Netlify | Deploy your build to Netlify. | drone-netlify | https://github.com/lucaperret/drone-netlify |
Nexus Publish | Upload Artifacts to Sonatype Nexus. | drone-nexus-publish | harnesscommunity/nexus-publish |
Nomad | Deploy services from a Nomad template file. | drone-nomad | loq9/drone-nomad |
Now | Deploy your build to now.sh . | drone-now | lucap/drone-now |
NPM | Publish libraries to public or private registries. | drone-npm | plugins/npm |
OpenFaaS | Build and deploy functions to the OpenFaaS Gateway. | drone-openfaas | knovus/drone-openfaas |
Packer | Build automated machine images with Packer. | drone-packer | appleboy/drone-packer |
PyPI | Publish Python pypi packages. | drone-pypi | plugins/pypi |
Rancher | Deploy a Docker image to a Rancher environment. | drone-rancher | pelotech/drone-rancher |
Rancher Stack v1 | Deploy/update an entire Rancher stack (instead of a single service) to Rancher v1.6. | drone-rancher-stack-v1 | dubc/drone-rancher-stack-v1 |
UPX | Package executables. | drone-upx | cnbattle/drone-upx |
Vercel Deploy | Deploy a site to Vercel. | drone-vercel-deploy | kameshsampath/drone-vercel-deploy |
WebDAV | Upload artifacts to any WebDAV server, including Nextcloud or ownCloud. | drone-webdav | vividboarder/drone-webdav |
Plugins to cache, store, and transfer
These plugins are offered in addition to Harness CI's built-in support for caching, data sharing, and managing dependencies.
Plugin | Use | Source | Image |
---|---|---|---|
Cache to Volume | Cache files and folders to a locally mounted volume. | drone-volume-cache | drillster/drone-volume-cache |
Doumark | Automatically sync Douban movie/book/music marked data. | drone-doumark | lizheming/drone-doumark |
Download | Download archives required for your builds, and integrate a secure way to inject basic authentication credentials checked by md5 or sha256 checksums. For example usage, go to Use Drone plugins. | drone-download | plugins/download |
Rsync | Transfer files to remote machines and then run a user-defined script. | drone-rsync | drillster/drone-rsync |
SCP | Copy files and artifacts to target host machine via SSH. | drone-scp | appleboy/drone-scp |
SFTP Cache | Create and restore caches of any folders. | drone-sftp-cache | appleboy/drone-sftp-cache |
SSH | Execute commands on a remote server. | drone-ssh | appleboy/drone-ssh |
Plugins for Git and SCM
These plugins are in addition to Harness CI's built-in codebase and SCM integrations.
Plugin | Use | Source | Image |
---|---|---|---|
Gitea Comment | Update the build status on a Gitea Pull Request. | gitea-comment | tsakidev/giteacomment |
Gitea Release | Publish files and artifacts to Gitea Release. | drone-gitea-release | plugins/gitea-release |
Gitee Pulls | Update comments, labels, and tests in Gitee PRs. | drone-plugin-gitee-pulls | kit101z/drone-plugin-gitee-pulls |
Git Push | Deploy an application via git push . You must supply a private SSH key or use the same credentials as the cloned repo to being able to push changes. | drone-git-push | appleboy/drone-git-push |
Mercurial | Clone a Mercurial repository. | drone-hg | plugins/hg |
Plugins for GitHub
Plugin | Use | Source | Image |
---|---|---|---|
GitHub Actions | How you run GitHub Actions in Harness CI pipelines depends on your build infrastructure. With Harness Cloud build infrastructure, you can run this plugin in the built-in GitHub Action step. With other build infrastructures, use the GitHub Actions Drone plugin in a Plugin step. | github-actions | plugins/github-actions |
GitHub Comment | Update the build status on a GitHub Pull Request. This can be an alternative or addition to Harness CI's built-in SCM status updates. | drone-github-comment | codehimanshu/gitdrone |
GitHub Pages | Publish static websites to GitHub. | drone-gh-pages | plugins/gh-pages |
GitHub Release | Publish files and artifacts to GitHub Release. | drone-github-release | plugins/github-release |
GitHub Search Downstream | Trigger builds for a list of downstream repositories fetched from a Github repository search. | drone-github-search-downstream | gboo/github-search-downstream |
Plugins for Google
Plugin | Use | Source | Image |
---|---|---|---|
GCP OIDC Token | Generate a Google access token from your OIDC token | drone-gcp-oidc | plugins/gcp-oidc |
Google Chat | Post build status messages to your organization's Google Chat. | drone-google-chat | pelotech/drone-google-chat |
Google Cloud Functions | Deploy, list, and delete Google Cloud Functions. | drone-gcf | oliver006/drone-gcf |
Google Cloud Storage Cache | Preserve files and directories between builds. You can also use the built-in Save and Restore Cache from GCS steps. | drone-gcs-cache | homerovalle/drone-gcs-cache |
Google Cloud Auth | Create and configure a Google Cloud auth configuration file to use with gcloud CLI. Only GAR is supported. The plugin also configures Docker configuration (~/.docker/config.json ) to push and pull container images from GAR. | drone-google-cloud-auth | kameshsampath/drone-gcloud-auth |
Google Cloud Run | Build and maintain managed Google Cloud Run services. | drone-gcloud-run | kameshsampath/drone-gcloud-run |
GTalk | Post build status messages to your Google account. | drone-gtalk | appleboy/drone-gtalk |
Plugins for infrastructure management
These plugins help with infrastructure management. If you're interested in a more built-in solution, consider the Harness Infrastructure as Code Management module.
Plugin | Use | Source | Image |
---|---|---|---|
Chef Supermarket | Publish Chef Cookbooks to Supermarket (internal or public). | drone-chef-supermarket | jmccann/drone-chef-supermarket |
Ansible | Run Ansible plays. | drone-ansible | plugins/ansible |
Terraform | Apply a Terraform infrastructure configuration. | drone-terraform | jmccann/drone-terraform |
Plugins for Kubernetes
Plugin | Use | Source | Image |
---|---|---|---|
Dron8s | Use dynamic Server Side Apply to achieve kubectl apply -f multi-configs.yaml parity for CI/CD pipelines | drone8s | bh90210/dron8s |
Helm | Run Kubernetes Helm | drone-helm | ipedrazas/drone-helm |
Helm3 | Interface with Helm3 | drone-helm3 | pelotech/drone-helm3 |
Helm Push | Upload Helm charts to Docker registries | drone-helm-chart-container-registry | plugins/helm-push |
Kubernetes Deployments (drone-kube) | Does the equivalent of kubectl apply -f deployment.yaml | drone-kube | vallard/drone-kube |
Kubernetes Deployments (drone-kubernetes) | Upgrade a Kubernetes deployment with a newer version of an image | drone-kubernetes | honestbee/drone-kubernetes |
Kubernetes Deployments (drone-plugin-kube) | Update Kubernetes deployments from templates and configMaps from files | drone-plugin-kube | danielgormly/drone-plugin-kube |
Kubernetes Resources and Configmaps | Create and update all Kubernetes resources and creating/updating configmaps from config files | drone-k8s-plugin | zc2638/drone-k8s-plugin |
Kubevious | Detect and prevent errors (typos, misconfigurations, conflicts, inconsistencies) and violations of best practices for Kubernetes applications and clusters | cli | kubevious/cli |
Plugins for logs and reports
In addition to Harness CI's built-in troubleshooting tools and build logs, these plugins help with logging, reporting, and troubleshooting tasks.
Plugin | Use | Source | Image |
---|---|---|---|
Codacy | Upload code coverage reports to Codacy. | drone-codacy | plugins/codacy |
Codecov | Upload test coverage results to Codecov. | drone-codecov | robertstettner/drone-codecov |
Coveralls | Upload coverage reports to Coveralls. | drone-coveralls | lizheming/drone-coveralls |
Datadog | Send events and metrics to Datadog. | drone-datadog | masci/drone-datadog |
Diagnostics | Use CLI network tools (dig , pin , traceroute ) to diagnose issues in a build. This plugin doesn't accept any properties. | drone-diagnostics | plugins/drone-diagnostics |
Grafana Annotation | Create an annotation in Grafana. | drone-grafana-annotation | fdeschenes/drone-grafana-annotation |
Newrelic Deployment | Report/log deployments to a Newrelic dashboard. | newrelic-deployment | cityfurniture/drone-newrelic-deployment |
Plugins for MLOps
For information about MLOps plugins, go to MLOps in Harness.
Plugins for notifications and chat
Harness offers built-in support for notifications, in addition to these plugins.
Plugin | Use | Source | Image |
---|---|---|---|
Airbrake Deployment | Notify Airbrake when a deployment is finished. | drone-airbrake-deployment | dhoeric/drone-airbrake-deployment |
Captains Log | Organize release information in Slack. | captains-log | target/captains-log |
DingTalk | Send a message through DingTalk group robot. | drone-dingtalk-message | lddsb/drone-dingtalk-message |
Discord | Post build status messages to a Discord channel. | drone-discord | appleboy/drone-discord |
Send emails from CI pipelines, such as artifact attachments or build results. | drone-email | drillster/drone-email | |
Post build status messages to a Facebook account. | drone-facebook | appleboy/drone-facebook | |
Google Chat | Post build status messages to your organization's Google Chat. | drone-google-chat | pelotech/drone-google-chat |
GTalk | Post build status messages to your Google account. | drone-gtalk | appleboy/drone-gtalk |
InstantAccess(即时达) | Post build status messages to an InstantAccess account. | drone-instant-access | erguotou/drone-instant-access |
IRC | Send notifications to an IRC channel. | drone-irc | plugins/irc |
Jira | Integrate with Jira. | drone-jira | plugins/jira |
Line | Post build status messages to a Line channel. | drone-line | appleboy/drone-line |
Matrix | Send build success/failure messages to a Matrix room . | drone-matrix | plugins/matrix |
Rocket.Chat | Send messages to a Rocket.Chat channel. | drone-rocket | mike1pol/drone-rocket |
ServerChan (Server酱) | Post build status messages to a ServerChan account. | drone-serverchan | yakumioto/drone-serverchan |
Slack | Post build status messages to a Slack channel. | drone-slack | plugins/slack |
Slack Blame | Send a message to a Slack channel or direct message when a build completes. Requires a Slack API access token. | drone-slack-blame | plugins/slack-blame |
Telegram | Post build status messages to a Telegram account. | drone-telegram | appleboy/drone-telegram |
Webhook | Provide outgoing webhook URLs to notify services via webhook when a build completes. | drone-webhook | plugins/webhook |
Post build status messages to a WeChat account. | lizheming/drone-wechat | lizheming/drone-wechat | |
WeChat for Work | Post build status notifications to WeChat for Work. | clem109/drone-wechat | clem109/drone-wechat |
Plugins for security
These plugins are useful for security-related tasks, such as authentication or scanning. For more information about security features available in Harness CI, go to Security hardening for Harness CI.
Plugin | Use | Source | Image |
---|---|---|---|
Cloudflare Caching | Use Cloudflare's API to purge cache. | drone-cloudflare-caching | jetrails/drone-cloudflare-caching |
Cloudflare DNS | Use Cloudflare's API to create/update/delete DNS records. | drone-cloudflare-dns | jetrails/drone-cloudflare-dns |
DCO | Enforce Developer Certificate of Origin. | drone-plugin-dco | algernon/drone-plugin-dco |
GCP OIDC Token | Generate a Google access token from your OIDC token | drone-gcp-oidc | plugins/gcp-oidc |
GPG Sign | Sign your artifacts and build results with GnuPG. | drone-gpgsign | plugins/gpgsign |
Maven Auth | Generate settings.xml with server authentication for a Maven repository. | drone-mvn-auth | robertstettner/drone-mvn-auth |
NPM Auth | Generate a .npmrc file locally to authenticate against any public/private NPM repository. | drone-npm-auth | robertstettner/drone-npm-auth |
Plugins for scanners
The Harness Security Testing Orchestration module provides first-class support for many security scanners. You can also use scanner plugins in Plugin steps. For example, this step uses the SonarScanner plugin.
- step:
type: Plugin
name: Plugin_1
identifier: Plugin_1
spec:
connectorRef: YOUR_DOCKER_CONNECTOR_ID
image: kytay/sonar-node-plugin ## Sonarscanner plugin image.
settings:
sonar_host:
from_secret: sonar_host
sonar_token:
from_secret: sonar_token
use_node_version: 16.18.1
Some scanner plugins include:
Plugin | Use | Source | Image |
---|---|---|---|
Clair | Submit a Docker image to your Clair server to scan the image for security vulnerabilities. | drone-clair | jmccann/drone-clair |
Fossa | Run the analyze command per the generic CI documentation for FOSSA. | drone-plugin-fossa | rancher/drone-fossa |
Gitleaks | Detect hard-coded secrets and sensitive data in your source code files. | drone-gitleaks | plugins/gitleaks |
Snyk | Use Snyk to scan container images for vulnerabilities. | drone-snyk | plugins/drone-snyk |
SonarQube | Scan your code quality and post the analysis report to your SonarQube server. | drone-sonar-plugin | aosapps/drone-sonar-plugin |
SonarScanner | Run code analysis with different versions of NodeJS (via nvm) and post the analysis report to your SonarQube server. | sonar-node-plugin | kytay/sonar-node-plugin |
Plugins used by Harness CI
These plugins are used by built-in Harness CI steps. You don't need to run them in a separate Plugin step if you use the built-in steps. For more information about how Harness manages these plugin images, go to Harness CI images.
Plugin | Use | Source | Image |
---|---|---|---|
AWS ECR | Harness uses this plugin to build and push images to ECR. | drone-docker | plugins/ecr |
AWS S3 | Harness uses this to upload artifacts to S3. You can also use it to download artifacts from S3. | drone-s3 | plugins/s3 |
Azure Container Registry | Harness uses this plugin to build and push images to ACR. | drone-docker | plugins/acr |
Artifactory | Harness uses a similar plugin to upload artifacts to JFrog Artifactory. | drone-artifactory | plugins/artifactory |
Bitrise | With Harness Cloud build infrastructure, you can run Bitrise Workflow Steps in the built-in Bitrise step. | N/A | N/A |
Cache | Harness uses this plugin for caching. | drone-meltwater-cache | plugins/cache |
Docker | Harness uses this plugin to build and push images to Docker registries. | drone-docker | plugins/docker |
Git | Harness uses this plugin image to clone a pipeline's default codebase. You can also use it to clone a git repository into your stage workspace. | drone-git | drone/drone-git |
GitHub Actions | Harness uses this for the built-in GitHub Actions Plugin step. | github-actions. You can also run it separately in a Plugin step. | plugins/github-actions |
Google Artifact Registry | Harness uses this plugin to build and push to GAR. | drone-docker | plugins/gar |
Google Cloud Storage | Harness uses this to upload artifacts to GCS. You can also use it to download artifacts from GCS. | drone-plugins/drone-gcs | plugins/gcs |
Google Container Registry | Harness uses this plugin to build and push to GCR. | drone-docker | plugins/gcr |
Kaniko (Docker, ACR, ECR, GAR, GCR) | Harness uses this plugin to build and push images to container registries when using a Kubernetes cluster build infrastructures. | drone-kaniko | plugins/kaniko, plugins/kaniko-acr, plugins/kaniko-ecr, plugins/kaniko-gar, plugins/kaniko-gcr |