Skip to content

Fetching latest changes Scenario 1 Consume library

CARMLPipelinePrincipal edited this page Jul 29, 2022 · 4 revisions

In this scenario you have onboarded only the module library as described in Getting started Scenario 1- Consume library and you would therefore need to fetch latest changes for the modules.

Modules can be stored in an accessible location like local, Template Specs, Bicep Registry or ADO universal packages.

The update process is the following:

Navigation

1. Backup your local copy of the library

Rename your local repository. Assuming the local repository location is 'D:\ResourcesModules' rename it in 'D:\ResourcesModules_Backup'.

The backup folder can be used to compare customized modules with the ones coming from the latest version and implement the required changes.

This can be done, for example, by the 'Compare selected' function of Visual Studio Code.

2. Download the library

To download the updated library follow the best option for your scenario, as explained in Download the library

3. (Optional) Convert library to ARM

In case you aren't using Bicep you need to follow this procedure: (Optional) Convert library to ARM

4. (Optional) Customize modules

There are different options for library's customization:

The recommendation is to contribute to the public CARML repository so that your updates can improve the public library. In this way your changes will be available on the public library when fetching updates, modules will be already tested with your changes and you won't need to take care of customization on each update.

In some cases, you might need to add to the library company/organization' specifics, that are not sharable with the public CARML repository.

In this scenario every time you'll fetch updates from the public CARML repository merge conflicts are expected. You'll have to compare the new public code with your customized one and re-apply your customizations to the updated code.

This process can be automated, by script or CI, if customization tasks are repeatable.

5. Test and publish modules

To test and publish updated modules follow the best option for your scenario in Test and publish modules

Clone this wiki locally