Open piyush94 opened 3 years ago
We are trying to automate the rollback to the last successful application version from Jenkins. Any suggestions?
I know there is an API to get the last version. I need to check on grabbing the last successful one.
Getting the Latest version i checked. It works but one bug was there in Jenkins library. It takes last version in versions array as latest but the new versions were at the top in the array in the API response. So I changed the .last() to .first() in the groovy code.
Can't use .last() or .first() as well as the API response is not sorted.
"versions": [
{
"id": 513,
"name": "cf-deploy;3_5_0_backend_dev_105",
"summary": ""
},
{
"id": 514,
"name": "cf-deploy;3_5_0_backend_dev_106",
"summary": ""
},
{
"id": 517,
"name": "cf-deploy;3_5_0_backend_dev_109",
"summary": ""
},
{
"id": 510,
"name": "cf-deploy;3_5_0_frontend_qa_89",
"summary": ""
},
{
"id": 500,
"name": "cf-deploy;prod_demo",
"summary": ""
}
],
Isn't there a built-in way in DeployHub to rollback to the last successful deployment?
Added getLastSuccessfulAppVersion(String url, String userid, String pw, String applicationid) which will return the appid of the last successful application version.
Use the updateattrs branch for the groovy script and image ui-skin-v9.0.0.3088-gaa30fe0 for the new ui and image master-v9.0.0.2937-g5ae292f for the old ui
Added envid as parameter to getLastSuccessfulAppVersion(String url, String userid, String pw, String applicationid, String envid).
Use the updateattrs branch for the groovy script and image ui-skin-v9.0.0.3090-gd18917f and master-v9.0.0.2939-g2cba1b0
The function call returns an array, the rollback application id is at which location. And in the passing parameter applicationid, is it the base version id or the latest id?
@piyush94 We had the wrong return type on the groovy doc as an id.
You are right, that it's an array:
You can pass in the application id of the app you just deployed or the app base version id.
@sbtaylor15 we are facing issue when creating application version from a branched application. From UI it works fine but from jenkins it doesn't.
From UI it creates app version from the latest version i.e cf-deploy;3_5_0_frontend_dev_144
. But from jenkins it creates app version from cf-deploy;prod_demo
. In jenkins we use newApplication
function.
@piyush94 so you want cf-deploy;prod_demo have the parent of cf-deploy;3_5_0_frontend_dev_144, correct?
@sbtaylor15 the new version should come under cf-deploy;3_5_0_frontend_dev_144 which is the latest version as shown below. But Jenkins library is adding it under cf-deploy;prod_demo.
Branching would remain.
Is there a way to get the last application version of which deployment was successful from the API? We have the application name.