持续集成:通过Jenkins API创建项目和节点介绍了使用jenkins API来创建项目和新建节点,jenkins API也可以创建视图(view)。
目录
- 1. 获取视图配置文件
- 2. 创建视图
- 3. 将job添加到视图
1. 获取视图配置文件
jenkins API创建视图(view)和创建项目类似,通过一个视图配置文件,发送post请求来创建。
视图配置文件可通过如下步骤获取:
- 手动在jenkins创建一个视图,例如我创建一个名为myview的视图。
- 访问http://192.168.30.8:8080/view/myview/config.xml,这个就是视图myview的配置文件,保存到本地(view.xml)。192.168.30是我的jenkins服务器地址。
如果不保存为文件,需要赋给某个变量,可以使用xml压缩工具压缩一下:
<?xml version="1.1" encoding="UTF-8"?><hudson.model.ListView><name>myview</name><filterExecutors>false</filterExecutors><filterQueue>false</filterQueue><properties class="hudson.model.View$PropertyList"/><jobNames><comparator class="java.lang.String$CaseInsensitiveComparator"/></jobNames><jobFilters/><columns><hudson.views.StatusColumn/><hudson.views.WeatherColumn/><hudson.views.JobColumn/><hudson.views.LastSuccessColumn/><hudson.views.LastFailureColumn/><hudson.views.LastDurationColumn/><hudson.views.BuildButtonColumn/><hudson.plugins.robot.view.RobotListViewColumn plugin="robot@3.2.0"/><hudson.plugins.favorite.column.FavoriteColumn plugin="favorite@2.4.1"/></columns><recurse>false</recurse></hudson.model.ListView>
2. 创建视图
执行如下命令:
$ curl -vvv -X POST --USER admin:11133124cbb8558231da29e8eb12b2de71 -d @view.xml -H "Content-Type: text/xml" http://192.168.30.8:8080/createView?name=MyView2
执行成功后会新创建一个名为MyView2的视图。
$ curl -vvv -X POST --USER admin:11133124cbb8558231da29e8eb12b2de71 -d @view.xml -H "Content-Type: text/xml" http://192.168.30.8:8080/createView?name=MyView2
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 192.168.30.8:8080...
* Connected to 192.168.30.8 (192.168.30.8) port 8080 (#0)
* Server auth using Basic with user 'admin'
> POST /createView?name=MyView2 HTTP/1.1
> Host: 192.168.30.8:8080
> Authorization: Basic emhhbmdoYWl5b25nOjExMTMzMTI0Y2JiODU1ODIzMWRhMjllOGViMTJiMmRlNzE=
> User-Agent: curl/7.83.1
> Accept: */*
> Content-Type: text/xml
> Content-Length: 785
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Fri, 16 Dec 2022 06:42:22 GMT
< X-Content-Type-Options: nosniff
< Content-Length: 0
< Server: Jetty(9.4.46.v20220331)
<
* Connection #0 to host 192.168.30.8 left intact
3. 将job添加到视图
可以将某个job放到创建某个的view中:
$ curl -vvv -X POST --USER admin:11133124cbb8558231da29e8eb12b2de71 "http://192.168.100.31:8080/view/MyView2/addJobToView?name=my_pipeline"
上面的接口请求实现将名为my_pipeline的job添加MyView2中。
人与人之间情断义绝,并不需要什么具体的理由,就算表面上有,也很可能是心已经离开的结果,事后才编造的借口而已。因为倘若心没有离开,当将导致关系破裂的事态发生时,理应有人努力去挽救。如果没有,说明其实关系早已破裂。——东野圭吾《解忧杂货店》