Bo-Yi Wu 3eb2242053 chore: migrate CLI to urfave/cli/v2 and update flag handling
- Remove formatting and vetting targets from the Makefile
- Upgrade urfave/cli dependency from v1 to v2
- Update CLI flag definitions to use urfave/cli/v2 API, including new struct field names and flag aliasing
- Add indirect dependency on github.com/xrash/smetrics

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2025-12-01 16:27:57 +08:00
2019-03-02 09:15:59 +08:00
2018-11-11 11:17:01 +08:00
2019-10-19 10:17:11 +08:00
2016-10-15 13:30:34 +08:00

drone-jenkins

logo

Lint and Testing Trivy Security Scan GoDoc codecov Go Report Card

Drone plugin for trigger Jenkins jobs.

Setup the Jenkins Server

Setup the Jenkins server using the docker command:

$ docker run \
  --name jenkins \
  -d --restart always \
  -p 8080:8080 -p 50000:50000 \
  -v /data/jenkins:/var/jenkins_home \
  jenkins/jenkins:lts

Please make sure that you create the /data/jenkins before starting the Jenkins. Create the new API token as below:

jenkins token

Build or Download a binary

The pre-compiled binaries can be downloaded from release page. Support the following OS type.

  • Windows amd64/386
  • Linux amd64/386
  • Darwin amd64/386

With Go installed

go install github.com/appleboy/drone-jenkins

or build the binary with the following command:

make build

Docker

Build the docker image with the following commands:

make docker

Usage

There are three ways to trigger jenkins jobs.

Usage from binary

trigger single job.

drone-jenkins \
  --host http://jenkins.example.com/ \
  --user appleboy \
  --token XXXXXXXX \
  --job drone-jenkins-plugin

trigger multiple jobs.

drone-jenkins \
  --host http://jenkins.example.com/ \
  --user appleboy \
  --token XXXXXXXX \
  --job drone-jenkins-plugin-1 \
  --job drone-jenkins-plugin-2

Usage from docker

trigger single job.

docker run --rm \
  -e JENKINS_BASE_URL=http://jenkins.example.com/
  -e JENKINS_USER=appleboy
  -e JENKINS_TOKEN=xxxxxxx
  -e JENKINS_JOB=drone-jenkins-plugin
  ghcr.io/appleboy/drone-jenkins

trigger multiple jobs.

docker run --rm \
  -e JENKINS_BASE_URL=http://jenkins.example.com/
  -e JENKINS_USER=appleboy
  -e JENKINS_TOKEN=xxxxxxx
  -e JENKINS_JOB=drone-jenkins-plugin-1,drone-jenkins-plugin-2
  ghcr.io/appleboy/drone-jenkins

Usage from drone ci

Execute from the working directory:

docker run --rm \
  -e PLUGIN_URL=http://example.com \
  -e PLUGIN_USER=xxxxxxx \
  -e PLUGIN_TOKEN=xxxxxxx \
  -e PLUGIN_JOB=xxxxxxx \
  -v $(pwd):$(pwd) \
  -w $(pwd) \
  ghcr.io/appleboy/drone-jenkins

You can get more information about how to use scp plugin in drone.

Testing

Test the package with the following command:

make test
S
Description
No description provided
Readme MIT 152 MiB
Languages
Go 94.7%
Makefile 4.2%
Dockerfile 1.1%