https://github.com/liejuntao001/jenkins-buildnumber-lib
Jenkins Shared Library to retrieve build number from remote service
https://github.com/liejuntao001/jenkins-buildnumber-lib
buildnumber jenkins-shared-library
Last synced: 27 days ago
JSON representation
Jenkins Shared Library to retrieve build number from remote service
- Host: GitHub
- URL: https://github.com/liejuntao001/jenkins-buildnumber-lib
- Owner: liejuntao001
- License: mit
- Created: 2019-05-02T04:13:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-06-07T04:13:36.000Z (over 6 years ago)
- Last Synced: 2025-01-17T17:25:03.040Z (10 months ago)
- Topics: buildnumber, jenkins-shared-library
- Language: Groovy
- Size: 394 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Jenkins Shared Library to get build number from service
This is a Jenkins Shared Library to retrieve build number from external service.
Normally a Jenkins job uses BUILD_NUMBER in its display-name or as part of the version.
BUILD_NUMBER is just a sequential number, and it's bound to the specific job.
If several jobs are set up for the same project, either due to permission control, or sitting in multiple Jenkins instances, it's nice to retrieve build number from external service to keep consistent version.
Here is [A service to get an incremental number](https://github.com/liejuntao001/buildnumber)
---
## Usage
### **Recommended** Method 1 - Import into Jenkins
Import the library following the [instruction](https://jenkins.io/doc/book/pipeline/shared-libraries/)

Use it in pipeline
```
@Library("buildnumber") _
```
### Method 2 - Load dynamically
```
@Library("github.com/liejuntao001/jenkins-buildnumber-lib") _
```
However due to Jenkins security control, multiple methods need get approved.

## Demo
Add Credentials

Below values are for demo purpose ONLY
```
build_number_server = https://buildnumber1.herokuapp.com/
test_job_uuid = e9461f1c-ef78-4162-bcb7-e83da7287614
```
In this demo, 2 pipelines are running same [Demo pipeline](./testjobs/buildnumber_Jenkinsfile.groovy)
pipeline test1 get build_number 4, and pipeline Demo1 get build_number 5.

---

## Build and test
The library is a gradle project.
```
.
├── build.gradle
├── src
│ └── com
├── test
│ ├── com
│ └── groovy
├── testjobs
│ └── buildnumber_Jenkinsfile.groovy
└── vars
└── buildnumber.groovy
```
Local build and test
```
./gradlew clean test
> Task :test
BuildNumberTest: testGet: SUCCESS
java.net.ConnectException: Connection refused
[:]
BuildNumberTest: testGetFailed: SUCCESS
SimpleHttpsTest: testGet: SUCCESS
SimpleHttpsTest: testPost1: SUCCESS
SimpleHttpsTest: testPost: SUCCESS
java.net.ConnectException: Connection refused
SimpleHttpsTest: testBadHost: SUCCESS
SimpleHttpsTest: testBadLink: SUCCESS
Tests: 7, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESSFUL in 7s
```
Run the demo in a real Jenkins Job .
