我正在研究从中间失败的阶段重新启动詹金斯管道的能力(例如)。
我继承了这个 CI 服务器并负责更新它,所以我发现这个功能可以“从阶段重新启动”:https : //jenkins.io/doc/book/pipeline/running-pipelines/#restart-from-a-stage
但是,我没有在 jenkins UI 上看到这个按钮。我猜这是因为我的 jenkins 版本太旧了。
这是我服务器上的一些信息:Jenkins 版本。2.107 插件信息:管道 - 2.5
如果有帮助,我可以分享其他插件信息。
问题:1)我需要做什么才能从舞台功能重新启动?2) 下次我怎样才能知道我需要什么版本才能获得某些新功能(如果这是根本原因)?
通过阅读周围的内容,当您必须监视您正在单元测试的当前方法所使用的方法时,这通常是不好的做法,并且是代码异味的迹象。
例如,我有一个正在单元测试的方法:
public MyResponseObject doStuff(MyRequestObject obj) {
WebTarget tar = getServiceClient().target(obj.toString());
Response res = tar.path(someURI).request().post(somejson);
if(response.getStatus() == 200) {
String jsonResp = response.readEntity(String.class);
return convertToObj(jsonResp);
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试解决上述问题的一种方法是
结果如下:
public MyResponseObject doStuff(MyRequestObject obj) {
Response res = sendRequest(obj.toString());
if(response.getStatus() == 200) {
String jsonResp = response.readEntity(String.class);
return convertToObj(jsonResp);
}
}
//extracted method
public Response sendRequest(String json){
WebTarget tar = getServiceClient().target(someUrl);
return res = tar.path(someURI).request().post(somejson);
}
//My unit test …Run Code Online (Sandbox Code Playgroud)