Answers: <p>Here is how we handle the pipeline process:</p>
  
  <p>Push your code to github ignoring the <strong>build</strong> folder.</p>
  
  <p>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 <strong>build</strong> folder. The <strong>build</strong> folder would then get deployed.</p>
  
Answers: CC BY-SA 4.0
Answers: 2018-09-06T15:00:31.973Z
Answers: 2018-09-06T15:00:31.973Z
Answers: Harith
Answers: <p>When starting from scratch first build a set of scripts (bash and golang) which start with a <code>git pull</code> 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.</p>
  
  <p>The next step for us was to setup a github webhook server on each server for each domain which subscribes to all <code>git push</code> 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</p>
  
  <p>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.  </p>
  
Answers: CC BY-SA 4.0
Answers: 2018-06-05T15:37:26.267Z
Answers: 2018-06-05T15:37:26.267Z
Answers: Scott Stensland
Body: <p>I am new to the whole DevOps process.</p>
  
  <p>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? </p>
  
  <p>Do you do all the code checks on the client-side and then push compiled code into the pipeline process via a <code>Static</code> buildpack (ie, <code>/dist</code> folder) or do I push my <code>build</code> files into Git with a Jenkins file for CI/CD and then go through the pipeline with a server-side <code>NodeJS</code> buildpack? </p>
  
  <p>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).</p>
  
  <p>Thanks</p>
  
Tags: <node.js><javascript>
Title: Single Page Apps and DevOps Pipeline?
UserDisplayName: redshift
ThreadText: # Single Page Apps and DevOps Pipeline?
  
  (Asked by: username_0 on 2018-06-01)
  
  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).
  
  Thanks
  
  **Tags:** node.js, javascript
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2018-09-06. Score: 0 | Accepted answer
  
  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.
  
  
  ---
  
  ### Answer by username_2 on 2018-06-05. Score: 0
  
  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.
  
  
  ---
  
  