Better deployment of Angular applications – Pepijn Schoen – Medium
- Deploying Angular applicationsOn your machine (or in your CI server, which I’ll cover in a follow up post) run npm install -g @deployjs/cli and in your Angular project, install the packages relevant to your deployment scenario.
- At least run npm install –save @deployjs/grunt-build (or npm install –save @deployjs/angular-build for Angular-CLI based applications).
- If you were to deploy to S3 (both index.html and the assets), run npm install –save ember-cli-deploy-gzip ember-cli-deploy-gzip ember-cli-deploy-manifest ember-cli-deploy-revision-data ember-cli-deploy-s3 ember-cli-deploy-s3-index.
- js in the root of your application containing your deployment configuration, as described in the Ember CLI Deploy configuration guides.
- That’s all!Rejoice!A package for React is also available under @deployjs/react-build.
Recently I got involved with a team having a mix of Angular 1 and Angular 2 applications. Deploying them was tied to a Java back-end, where the results of a manual grunt build step was incorporated…
build step was incorporated in the resulting deployment on Amazon Web Services.
As a general improvement to both the deployment and the testing infrastructure, we wanted to break apart these applications and Dockerize the back-end. For the front-end, we still were in doubt of how to serve this to end users.
to fix the only two pieces of the puzzle remaining:
for Angular-CLI based applications).
. All of these packages kick in in different parts of the pipeline.
in the root of your application containing your deployment configuration, as described in the Ember CLI Deploy configuration guides. For the case of S3, this looks like:
being available as environment variables in your system.
to build and deploy your application. That’s all!
. Not using this framework myself at the moment, I am warmly welcoming contributions and feedback.
In a follow up post I will describe how from here we set up a continuous integration & continuous deployment setup with Protractor, Bitbucket Pipelines and DeployJS.
Are configuration steps missing for the grunt deployment step? Do you use different building tools than those covered? Did I over-complicate matters or did I take too many shortcuts? Other glaring oversights? Any feedback is welcome.