Running tests in Bamboo with a Gulp task

I configured a Bamboo job to run tests with a Gulp task. The Gulpfile.js provides an endpoint to run the test suite such as :

/webroot:port/tests/testLogin?testMode=1.

Somehow, the Bamboo task checks out the repository as expected and runs without error but cannot find the tests. However, I believe that Gulp cannot run the endpoint for some reason and therefore cannot find the tests. Bamboo's log does not provide any information on this and just returns a success.

My question is: In order to launch the test suite, Gulp requires a command gulp --url www.domain.com in order to form the complete endpoint:

http://www.domain.com/webroot:port/tests/testLogin?testMode=1

Where, in Bamboo task configuration should we provide this command?

2 answers

1 vote

Hi Philippe,

In this case I believe the only way to introduce a new parameter would be to create a Suggestion for the Gulp task at JAC.

Another option would be to run Gulp from the command line and not use the Gulp task and pass the entire command you want to execute to the Script task.

Cheers,

Branden

Thanks, Branden! In fact, I just realised that the Gulp task must run within the build directory, itself located in the bamboo-home.  Currently the bamboo-home is outside the web root, which means the command endpoint cannot be run... I probably have to re-install Bamboo and have Bamboo-home created under the web root.

1 vote
Marcin Oles Atlassian Team Aug 30, 2017

Hi Philippe,

just to add to what @Branden McElveen said:

It is technically possible to append custom configuration to the "Task" field of the Gulp task. Although this is not the cleanest solution, it should just do the trick. Simply setting the "Task" field to "task-to-execute --my-option --my-second-option" would work.

Additionally, if you find a need for more specific configuration of one of Node.js based tools, I'd say the fallback is to use Node.js task in Bamboo. There you can freely define exactly what you're interested in running - e.g. "node_modules/gulp/bin/gulp --custom-options gulp-task".

The advantage of Node.js task over the Script task is that it uses the Node.js capability, ensuring that only build agents capable of running Node will execute your plan.

Regards,
Marcin

Thanks Marcin, this is a good alternative. I am going to try running Node directly. But I think the cause of the problem is that the build directory and therefore bamboo-home are not located under my web root, which means a call to the test suite  at: http://www.domain.com/webroot:port/tests/runTests.cfm won't work anyway.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Monday in Jira Ops

Jira Ops Early Access Program Update #1: Announcing our next feature and a new integration

Thanks for signing up for Jira Ops! I’m Matt Ryall, leader for the Jira Ops product team at Atlassian. Since this is a brand new product, we’ll be delivering improvements quickly and sharing updates...

524 views 0 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you