使用方法
通过如下命令获取gojenkins连接
如下命令可能是你最终使用场景的案例,用来完成一些实用的功能,下一章节我们将会详细讲解coding过程
go
package test
import (
"context"
"fmt"
"github.com/bndr/gojenkins"
"testing"
"time"
)
func TestJks(t *testing.T) {
ctx := context.Background()
// 使用密钥方式创建jks连接
jenkins := gojenkins.CreateJenkins(nil, "http://localhost:8080/", "admin", "admin")
// 同样可以使用CA证书完成连接
// caCert, _ := ioutil.ReadFile("/tmp/ca.crt")
// jenkins.Requester.CACert = caCert
_, err := jenkins.Init(ctx)
if err != nil {
panic("Something Went Wrong")
}
// 根据job任务的名称,编译并获取队列id
queueid, err := jenkins.BuildJob(ctx, "#jobname", nil)
if err != nil {
panic(err)
}
// 根据队列id回去编译信息
build, err := jenkins.GetBuildFromQueueID(ctx, queueid)
if err != nil {
panic(err)
}
//等待Job编译结束
for build.IsRunning(ctx) {
time.Sleep(5000 * time.Millisecond)
//拉取编译数据
build.Poll(ctx)
}
// 获取编译的#number 和编译是否成功的结果,SUCCESS or FAIL or STABLE
fmt.Printf("build number %d with result: %v\n", build.GetBuildNumber(), build.GetResult())
}