This aplication demonstrates the utilization of several techniques of the nrwl
eco-system and has the purpose to provide the means to evaluate basic DEV-OPS skills. The application is built within an nx-monorepository and consists of a Web-UI and a Node-API.
Deploy the server side rendered angular
application together with the nest
backend-api into two seperate containers or virtual-machines. In Order to do so utilize an azure
pipeline and the commands provided of the nx
-monorepository.
The Pipeline has the following requirements:
- Only process
affected
changes by utilizing Computation Caching In order to recognize affected changes utilize the command nx print-affected. It will print out aJSON
-Object which contains a list of changeddependencies
within eachproject
(application & library). You can pass the--select
command to modify the output. - Lint and test and build the projects. For that utilize the command nx run-many.
- Consider the
target
definitions within theproject.json
of the projectsapps/api
andapps/demo-app
. Those definitions can be adressed with the--target
option of thenx run-many
command. The Configurations within the target-definitions can be utilized with the--configuration
option. The affected projects can be declared with the--projects
option. - Cache the
node_modules
folder after thenpm install
. - Cache the
node_modules/.cache
folder after after all artifacts have been build. This folder contains all the hashes necessary for the utilization of thecomputation caching
- LTS-Version of nodejs
v16.15
- Access to
Azure DevOps Services
orAzure DevOps Server