mirror of
https://github.com/appleboy/drone-jenkins.git
synced 2026-06-04 10:15:02 +08:00
3dd86f956c935dee152c1d15352d77314c594abd
- Add support for passing a remote trigger token to Jenkins jobs - Update the Jenkins constructor to accept a token parameter - Ensure the token is included as a query parameter when triggering jobs - Improve error reporting by including response body in error messages - Remove unnecessary logging and refactor build parameter logic - Update tests to use the new Jenkins constructor and token handling - Add CLI option for specifying a remote trigger token - Extend plugin configuration to support remote token injection Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
drone-jenkins
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:
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
Languages
Go
94.7%
Makefile
4.2%
Dockerfile
1.1%

