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
affectedchanges 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 changeddependencieswithin eachproject(application & library). You can pass the--selectcommand to modify the output. - Lint and test and build the projects. For that utilize the command nx run-many.
- Consider the
targetdefinitions within theproject.jsonof the projectsapps/apiandapps/demo-app. Those definitions can be adressed with the--targetoption of thenx run-manycommand. The Configurations within the target-definitions can be utilized with the--configurationoption. The affected projects can be declared with the--projectsoption. - Cache the
node_modulesfolder after thenpm install. - Cache the
node_modules/.cachefolder 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 ServicesorAzure DevOps Server