Tips and Tricks

Some helpful tips for daily use when using Bosco to run stuff.

Whats Running?

To see everything that is currently running, use the ps command:

bosco ps
1552

Repository Regex

Almost all commands allow you to specify any part of the repository name as a filter. For example, if you have the following repositories:

app-resource service-resource-author service-resource-reviews service-resource-list app-resource-uploader service-resource-preview infra-mongodb infra-redis

You can target them individually like follows:

bosco run -r mongodb

This will start just infra-mongodb. Whatever you provide to the -r parameter is converted to a regexp that is applied to the service name.

Tags

In the bosco-service.json you can provide 'tags' that allow you to logically group pieces of your projects together.

For example, see the bosco-service.json file for a core project that is the backend of one of our largest pages:

{ "service": { "name": "app-resource" }, "tags": ["upload", "summary", "author"], "build":{ "command":"node_modules/.bin/gulp build", "watch": { "command":"node_modules/.bin/gulp", "ready":"Finished 'default'" } }, "assets": { "basePath": "/src/public", "js": { "bottom": [ "js/resources.js", "js/favourite.js" ], "bottom-v2": [ "js/lib/adyen.encrypt.js", "js/lib/jquery.payment.js", "js/tes-resource.js" ] }, "css": { "main": [ "css/summary.css", "css/file-types.css", "css/form-elements.css", "css/favourite.css" ], "main-v2": [ "css/main.css" ] }, "img": { "edamame":[ "img/lg-share-en.gif", "img/file-types.png", "img/form-elements.png", "img/favourite_sprite.png" ] } } }

The tags defined within this project are:

"tags": ["upload", "summary", "author"]

This now gives you the ability to start this project with the following commands:

bosco run -t summary bosco run -t upload

Watching Projects

By default, bosco does not watch projects for changes. The reason for this is performance - it often starts a large number of projects, and we found that watching all of them by default would slow people down too much.

So, to watch a project, simply provide the additional -w parameter (which is a regexp in the same way that the -r parameter is):

bosco run -t summary -w app-resource

This will run all the projects with the summary tag, and put the app-resource project into watch mode - e.g. this is the project that you will actually be making changes to. This change is then reflected in bosco ps:

1546

Did this page help you?