Build
Monteur provides Build CI Job to build your production-ready project or app with
consistent reproducilibity properties.
The objective of the job is simple: to build production-ready
quality of the project/app in a reproducible consistency
manner.
All users has to do is to issue this command:
|
|
Job Level Configurations
Montuer does facilitate a job-wide configurations file for configuring
Build CI Job over all settings and supplying job-wide variables.
The configurations, by default, are stored in the data file located in:
|
|
The file MUST be strictly named
config
alongside with
the following supported data format's file extension. Currently,
Monteur offers the following supported formats, arranged in priority by
sequences:
.toml (TOML)
- https://github.com/toml-lang/toml
Job Level Variables Section
The Monteur's
Variables
Processing features. All variables defined in this job-wide
configuration file only visible to ALL Build CI Job
recipes. It is highly recommended to place all project-based
variables data into this list for recipes consistency purposes.
An example of the job-level variables section consists
of the following fields:
|
|
[Variables]
- plain variables list complying to Montuer Plain Variables Definition.[FMTVariables]
- formattable variables list complying to Montuer Formattable Variables Definition.
Recipe Configuration File
All Build CI Job's recipe configuration files are stored in:
|
|
These files can have any filename BUT MUST STRICTLY HAVE any of the the following supported file extensions based on its data format of your choice:
.toml (TOML)
- https://github.com/toml-lang/toml
TOML
format.
Recipe's Metadata Section
The recipe's metadata section consists of the following fields:
|
|
Name
- used for recipe identification, reporting, and referencing usage. Monteur recommends keeping it short, concise and without any weird symbols (e.g. space will be replaced by short dash (-
)).Description
- mainly for logging and reporting purposes. Describe the details of the recipe.
Recipe's Variables Section
The Monteur's
Variables Processing Specification
features. All variables defined in this recipe's configuration
file are visible ONLY to this recipe. It is highly
recommended to abstract as much variables away from your
command algorithm as possible so that your user only has to
customize these tables and not messing with your algorithm.
The variables section consists of the following fields:
|
|
[Variables]
- plain variables list complying to Montuer Plain Variables Definition.[FMTVariables]
- formattable variables list complying to Montuer Formattable Variables Definition.
Recipe's Dependencies Checking Section
The Monteur's
Dependencies Checking
features. All 3rd-party dependencies are listed and checked here
against the running operating system for ensuring consistent
performances and executions of this recipe.
The data structure is compliant to
Dependencies Checking
Specification. Here is a sample for this recipe:
|
|
Recipe's Commands Section
The list of executing commands complying to compliant to
Commands Execution Unit (CEU)
Specification. The commands are executed as instructed in
the key recipe sections, usually either execute as per se after
all meta processing OR being used to execute horizontally.
The data structure is entirely based on the
Commands Execution Unit (CEU)
Specification.
An example of this recipe's commands section would be:
|
|
Currently, this is the last section of the recipe configuration file.
Known Recipes
Instead of working on all the recipes from scratch, Monteur does maintain a number of existing and continuously improved recipes to kick-start your compatible deployment. Here are the available recipes: