Project Setup
The Project Setup expanders provide a way to model and generate a setup to implement, build and deploy NS projects. There are three main areas where Project Setup expanders (often referred to as the project-expanders) provide expanded functionality.
- CI/CD pipeline
- Containerization
- NSS Scripts for local deployment
Goals and motivations
NS applications have always boasted about a few key features such as evolvable software and having the same structure in NS applications making it easy to jump into another application as a developer. However these advantages of NS applications do not apply to how projects are currently set up. One of the goals is to not only make applications evolvable but also the setup around applications. Furthermore having expanders for a project setup would make each NS project feel the same instead of having different practices for doing the same in different projects.
An expanded project setup also serves as a mold for projects to fit in and follow the best practices. E.g. using Git Flow, updating the changelog, using OS agnostic scripts and more.
Alongside these improvements, one of the goals of NSX is to automate/expand the full process from creating an application to deployment. Having an expanded project setup bridges the gap from creating an application to deploying it on a server.