Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Running tests in Bamboo with a Gulp task

Philippe Sambor August 27, 2017

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
Marcin Oles
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 30, 2017

Hi Philippe,

just to add to what @somethingblue 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

Philippe Sambor August 30, 2017

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.

1 vote
somethingblue
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 29, 2017

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

Philippe Sambor August 29, 2017

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.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events