Where BCD Generates artifacts?



I used a BCD to generate all different artifacts.

So, I use this function:

bcd livingapp build -s /bonita/scenario/allGit.yml -p /bonita/git/ -e Production

I need now to access all artifacts generated, to save it in a "production git". Then, each new version will be saved, and if needed, I can be back to a previous version.

Where is the path where BCD generates all artifacts? What is the command line to specify it? I'm expected

bcd livingapp build -s /bonita/scenario/allGit.yml -p /bonita/git/ -o /bonita/build -e Production


1 answer

This one is the BEST answer!

All artifacts are generated in target folder of the project.

The good practice suggest publishing the artifacts on a maven repository (nexus, artifactory...). Git repository should be used for source code only.




Submitted by Pierre-yves Monnet on Wed, 05/27/2020 - 18:52


Thank you Romain, I will see that with the customer.

For an administrator on production, a BAR file is a "source" object. What they do, they register each new object. Then, when a user detect a regression in a process (and the regression may be visible after hours, days, weeks), then they use this GIT repository to get the previous version of the BAR file. You can't rebuild a BAR file using the source code in Bonita : you are not sure the generation will be exactly the same (a connector, a fragment, a widget may have change for example).

As you know, be back on a previous process version is maybe not enough: a process may be linked with a page + application + Rest API. So, they identify some "packages" like this, and they keep track of a "package" via a system of tag+branch.


Submitted by bastien.laurent... on Fri, 05/29/2020 - 08:57

To get that, you need to generate 'bos' file. Each bos file need to have a specific version. Bos file discribe your process with all your need to import it again.


Submitted by romain.bioteau on Fri, 05/29/2020 - 09:56

You can't rebuild a BAR file using the source code in Bonita

Why do you think so ? If the project is plugged to a cvs you can rebuild whatever version you want that is the purpose of a cvs (whereas storing binaries is more an artifact repository job)

Submitted by Pierre-yves Monnet on Fri, 05/29/2020 - 19:34


1/ Thanks to Marielle, she check and tell me that all the artifacts are generated under a ZIP File, named with the date and the environment. So, it's possible to run twice BCD to generate a Qualification snapshot and a Production snapshot at the same time

2/ the BOS is complicated. First, it implied that the administrator has a studio, to be able to reload and recompile it. Administrator want to have a simple procedure : process XXX failed, reload the previous version. Or "Delivery May 2 failed, rollback it => So rollback process A3, BD, Application H4 and pages 44.

3/ Restart from a BOS file may be complex : what about the connector version? Let's imagine that a change is made on a connector after May 10. Are you sure that the BOS saved in May 2 contains all the correct connector version? How do you ensure that? With a BAR file, I'm sure that the BAR contains everything the process needs. With pages, application, RestAPI, it's a little more complicated because there is no "Application container". That why they prefer to use the "Groovy Page Model" : Page+RestAPI are included in the same container.

That's why my customer saved the generated artifact (BAR file).