Overview

This is a node application to apply build of docs, client (aurelia) & server (node) application.

Initial Setup

  • Clone the repo from: git@github.com:AntaresSystems/build-mgmt.git
  • Run 'npm install' to install all the dependencies of thr project.
  • To setup ext-repos run the bash-file 'bash-files/clone-build-repos-of-docs.sh'.

Apply build by file

  • Go to build-config.
  • In build-config, go to folder of the project you want to apply build for.
  • Go to type folder of which you want to apply build.
  • Run build.sh file there.(If you are working on ubuntu, give permissions to execute the file).

For Example if you want to apply the build for questionnaire client, then follow the given steps:

  • Go to build-config folder.
  • In that go to questionnaire folder.
  • From there go to client.
  • Then run build.sh there.

Apply build by command

  • To apply build of a particular product and type:
node -r esm server.js --product={product_name} --type={sub_type}
  • To apply build of a particular product and type with 'npm install' to be executed in commands list:
node -r esm server.js --product={product_name} --type={sub_type} --nodeModules=true
  • To check for any code changes and apply build of a particular product and type:
node -r esm server.js --checkProduct={product_name} --checkType={sub_type}
  • To check and apply build of all products and type:
node -r esm server.js --checkProduct=all --checkType=all
  • To check and apply build of all products and type with npm install:
node -r esm server.js --checkProduct=all --checkType=all --nodeModules=true

Note:

  • product_name can be : home-page, learning, questionnaire, tw-dept-docs etc.
  • sub_type can be : docs, client, server, dlgp (dept name if product is tw-dept-docs)

Project Structure

  • server.js: This is th first file called by node.
  • bash-files: This folder contains .sh files to update/clone/apply build. It contains files tha can be run on developer machine/test server/prod server.
  • build-config: This folder contains files to apply the build. This is divided based on he product and its ype.
  • ext-repos: This folder contains all the repos source and build.
  • src: It is the main folder which contains all the build files. It is divided into the following:
    • main.js: This is the file called by server.js
    • apply-build.js: This file is called by main.js to call the methods to apply build.
    • setup-repos.js: This file is called by main.js to setup repos in local.
    • common: This folder contains build files for multiple types.