I am new to the whole DevOps process.

As a software developer with some experience in building single-page applications (SPAs) using Webpack which already takes care of the unit checks, code validation, etc, how does a SPA development process fit into the DevOps workflow/pipeline?

Do you do all the code checks on the client-side and then push compiled code into the pipeline process via a Static buildpack (ie, /dist folder) or do I push my build files into Git with a Jenkins file for CI/CD and then go through the pipeline with a server-side NodeJS buildpack?

I am wondering how much work needs to be done locally before going through the pipeline. I don't like the idea of having extra dependencies to rely on (it seems there are always issues on the server side preventing apps from getting deployed -- outdated buildpacks, errors in servers, downtimes, etc). I wonder if simply offloading all that to the client side is a good way to get an app out quicker (just push the static files via a Static buildpack).



Here is how we handle the pipeline process:

Push your code to github ignoring the build folder.

The Jenkins will then pull the code from github and run tests against it. After all the tests have passed, it would build the application for production, creating the build folder. The build folder would then get deployed.


When starting from scratch first build a set of scripts (bash and golang) which start with a git pull to get the fresh code for a given branch then the script issues all the command line steps you can do yourself to compile the code into executable bundles. This includes issuing Docker commands to cut fresh docker images for the various microservices. Then a script launches all the various Docker containers. Now the app can get fresh code pushed to domains where people can login and use the app from their client (mobile or browser) whenever a developer requests a domain needs a refresh.

The next step for us was to setup a github webhook server on each server for each domain which subscribes to all git push performed by our developers. If a given git push matches the github code branch a domain is running the webhook would trigger launch of the above script to compile then deploy the app

All of above is just automation to replace what someone was originally manually issuing themselves at the command line. As need appeared a new step was issued manually until it got crafted into above tooling.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.