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 Join to answer
Community showcase
Renan Battaglin
Published May 18, 2017 in Bamboo

FAQ: How to Upgrade Bamboo Server

Bamboo 5.9 will no longer be supported after June 12, 2017. What does this mean? As part of our End of Life policy, Atlassian supports major versions for two years after the first major iteratio...

1,096 views 0 5
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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot