bslatkin / dpxdt

Make continuous deployment safe by comparing before and after webpage screenshots for each release. Depicted shows when any visual, perceptual differences are found. This is the ultimate, automated end-to-end test.
https://dpxdt-test.appspot.com
Apache License 2.0
1.44k stars 124 forks source link

integration with Jenkins #79

Open theincredibleguy opened 10 years ago

theincredibleguy commented 10 years ago

How can I integrate the dpxdt with Jenkins as I intend to use the visualization diff as a part of CI?

Regards.

bslatkin commented 10 years ago

I'd try to use one of these tools:

Diff my urls: You provide a set of URLs for your current build vs. baseline and kick off a new dpxdt run from the Jenkins workflow: https://github.com/bslatkin/dpxdt#diff-my-urls

Diff my images: You captured your own images (e.g., using Selenium) and upload them from Jenkins using a script like this: https://github.com/bslatkin/dpxdt#diff-my-images

theincredibleguy commented 10 years ago

I will be able to integrate this in the CI pipeline, however, there's just one predicament; a manual action required to approve the build. Is there a way to automate the approval if there's no difference?

bslatkin commented 10 years ago

That sounds like a pretty easy thing to add. I wonder if it should just be the default. When the build is approved, will you take some other action in your CI pipeline? There's currently no "output" from approving a build. Nothing like a webhook or even an API to poll for when the state of a build changes. I wonder if you'd need that too?

theincredibleguy commented 10 years ago

There are a couple more stages in the CI pipeline, one of the important tasks is generation of reports on the basis of the diff results. So it would be nice to have an API around the same. Also, I was wondering why isn't build marked as good when there's no difference between the snapshots. Do you have any use cases where there could be a conflict in this regard?

bslatkin commented 10 years ago

The one case I've seen is where the test and staging versions both respond with 500s for every URL or something like that, so though the images all match and there are no diffs, the actual tests were worthless. I'm not quite sure how to guard against that.

slmoloch commented 10 years ago

Is there any API to get list of builds and their statuses planned? I want to integrate ThoughtWorks Go with dpxdt and it seems the missing piece of the puzzle.

hutchic commented 9 years ago

There's currently no "output" from approving a build. Nothing like a webhook or even an API to poll for when the state of a build changes. I wonder if you'd need that too?

Not to drag old conversations up but this would be a great addition any chance it could get included at some point?

bslatkin commented 9 years ago

@hutchic Thanks for the feedback. Could you explain how you'd like the API to work? I could use some guidance on the details. Are you okay with polling for statuses of builds like @slmoloch described?

hutchic commented 9 years ago

polling would work web hook would be better (IMHO) :)

elsigh commented 9 years ago

+1 for webhook - I want one in general for posting back to our deploy slack channel