Advice on Jenkins

Hi folks,

We have the following setup to push to our Dev environment:

Jenkins pulling from Github->Octo.exe->Deploy to Dev->Run Selenium tests using VSTest.exe

So we want to promote that build to higher environments (including manual approvals). Obviously we could do that using Jenkins and octo.exe, but to me, the Jenkins UI is a horrible mess and our QC people who’d be doing the promotions would get confused by it.

So, i would prefer to use the Octopus UI to do any promotions above Dev. Is it possible for Octopus to call VSTest? If so, i assume there’s no way at all to pass anything back to Jenkins so that we can have a ‘dashboard’ in Jenkins that would mirror the Octopus dashboard?

Hi,

Thanks for reaching out. Octopus could invoke VSTest from a script, but we’ve seen problems running Selenium from a non-interactive process like the Octopus Tentacle, and in my experience its usually best to leave the building and testing to the build server (in this case Jenkins) and the deployment to Octopus.

Would a setup like this one work for you?

[Jenkins] 1. Pull code from Github->Octo.exe to trigger deployment on dev in Octopus

[Octopus] 2. Deploy to Dev and on the last step trigger another Jenkins build (using Powershell and the Jenkins REST API) that only calls VSTest. On the same powershell step include a loop that queries the status of the Jenkins build running the tests. If the tests fail, have the Powershell script return an error, which will make the Deployment fail and prevent it from being promoted. If tests pass, then the deployment will be successful and the release ready for your QA team to promote it.

Hope that helps,

Dalmiro

Thanks Dalmiro - yes, that makes perfect sense.

Unfortunately, when I’ve been trying it with calling the Jenkins API from Powershell, I’ve been having trouble with the authentication. I’ve tried passing both username/password and username/API token as part of Invoke-RestMethod, but I’m still getting an “authentication required” message coming back from Jenkins.

Any ideas?

(Would be nice if someone would create a step template for this :slight_smile: )

Hi Darren,

Unfortunately I’m not skilled in the arts of Jenkins API and I don’t have a Jenkins instance to try it on :(. Maybe someone in their forums can give you a hand?

I agree It’ll be good if someone could make a step template for this. Perhaps you could once you figure out how to trigger the Jenkins build using Powershell :slight_smile:

Regards,

Dalmiro