Assembly Management

Yodoo Apps DB application allows you to create and manage custom assemblies of addons. This assemblies defines additional modules that will be available for installation on the server (instance).

Each assembly is a separate GitLab repository that contains a list of additional modules with the appropriate git sources. You can provide addons management via GitLab by adding or removing required modules and updating assembly package.

Open the Yodoo Apps DB, click Assemblies.

Create New Assembly

  1. To create a new assembly, click Create.

  1. In the opened form:

  2. Enter the assembly name

  3. Select the Odoo series for this assembly
  4. Click Save

  1. Click Initialize.

  1. In the opened window, select Create New and click Initialize.

This will create a GitLab repository for this assembly. On the right side of the form, you will see the GitLab repository data.

Addons Management

To manage available addons, open your GitLab repository by the provided link.

The project page of your repository opens.

At the top of the page, you will see the main branch of the project. It will match your Odoo version (e.g. 13.0 for Odoo13, etc).

Below, you will see the list of files that are in your repository.

You can add or remove addons by editing the odoo-packager.yml file.

Note

For security reasons, editing files directly in your main branch is prohibited. All changes to the main branch should be done through the merge requests.

Changing files directly in your main branch may disrupt the work of your server.

To add or remove addons in your assembly, you need to do the following:

  1. In the opened page:

  2. enter the name of the new branch (e.g. 13.0-update)

  3. in the Create from field, specify your main branch
  4. click Create branch

New branch will be created and you will be redirected on the project page.

  1. On the project page, make sure that you are on your new branch, and click Web IDE. This will provide you with a convenient interface for editing files.

  1. On the left, click the odoo-packager.yml file for editing.

  1. The file content will be opened in the integrated editor.

  1. To add new addons:

  2. add technical names of all required addons to the addons-list

  3. if addons have dependencies, you need to add them to the addons-list too
  4. specify source git repositories for added modules in the git-sources list
  5. pay attention to indentations (left indentation - 4 spaces)

To delete addons from your assembly, just remove them from the addons-list.

In the example above, we added the generic_condition addon that is located in the crnd-inc/generic-addons github repository. We also added 2 addons on which it depends. They are also located in the crnd-inc/generic-addons github repository.

Note

To add a module that depends on other modules to your repository, you also need to specify all dependencies in the addons list and their git sources.

This is made for security reasons.

  1. Click Commit... the changes will be staged.

  1. Now you will see the difference between the previous and new versions of the file. You can check if everything is correct.

  1. At the bottom-left of the page, select the Start a new merge request checkbox. This will create a merge request after the commit. To commit your changes, click Stage & Commit.

  1. A page for merge request opens. On this page:

  2. Enter the title for merge request (it may be filled automatically)

  3. Select Source branch - this is the branch where you made your changes
  4. Select Target branch - this must be your main branch (e.g. 13.0)
  5. Click Submit merge request

Merge request will be created and you will be redirected to the merge request page.

  1. On the merge request page:

    • Check the pipeline status for the branch with changes. If it is a green check mark, your pipeline is passed successfully and your new addons were packaged. This mean you can merge your changes into the main branch.
    • Click Merge to merge your branches.

    Note

    Your pipeline may fail. In this case, you will see the Failed status on your pipeline highlighted with a red color. Pipeline may be failed if the module's name was written with errors, if there are missing dependencies, or from other technical reasons.

    To see the reason of the failure, open the pipeline, click on the failed job and read the error message.

    While pipeline is failed, you will not be able to merge your changes into the main branch.

  2. After your branches are merged, all new modules are available in your assembly. New modules will be added to the dist directory of your repository. Click it to view its content.

Here you can see all specified addons in your repository.