Add-on testing with Bamboo & PhantomJS & Selenium

I’m migrating to Bamboo and wanted to create a pipeline of post deployment tests:

compile->unit tests->package->deploy to N environments -> for each env -> smoke UI tests -> results merged

How do I create a configuration like this in bamboo?

What is the best approach for post deployment tests using PhantomJS or Selenium?

Is there any library that would do a plugin hot deployment without Jira restart?

Cheers
Przemyslaw

What is the specific reason for wanting to deploy to N environments? Parallel test execution or testing against different configurations (different databases, etc)?

There will probably be some bamboo add-ons that can help you with this, but to some extend you will have to script parts of this set-up.

I need to test my addon against all Jira Software versions every time we add something new - we hack agile board a lot.

Your best option would be to use Docker and pass the Jira Software version as a parameter. You can create a base Docker image which contains installation of Jira and perhaps a default JIRA_HOME folder (if it is not to big). If you use Docker-compose you can spin up an accompanying mysql database with a prepared database.

At it’s core, the principle of Docker is to create an immutable environment. So every environment you spin up will be in the exact state as defined in the Dockerfile. As such, you can easily run your tests automatically against a multiple instances simultaneously knowing that each environment is exactly the same.

Either way, you will need the remote agent(s) to start the Docker machines. I believe there are built-in tasks in Bamboo that can take care of running Docker containers, however, I would consider it easier to just create a script that loops over an array of version number to start the tests

Hi @remie

We do use docker.

What I’m looking for is a guidance how to setup Bamboo in the most flexible way.

I’d expect the atlassian sdk would introduce some out of the box bamboo plugin development support worflows and tasks like start Jira, hot deploy app or create UI test projects.

Ah right… sorry to disappoint you but the SDK is not going to help you here, and there are also no Bamboo add-ons to provide this. I think in this case, the old Atlassian saying comes into play: be the change you seek. So if you think that the community will benefit from such tasks, go for it!

However, i’m not sure if there are many vendors that are using Bamboo. Most probably switched to Bitbucket pipelines. Personally, I use CircleCI and GitHub. And I’ve written custom scripts that run my integration tests for the Jira, Bamboo or Bitbucket server versions that require testing.

Thx I’ll look into that.