ng-dockerize
v1.1.0
Published
Schematic that adds configuration to run angular in docker
Downloads
12
Readme
Dockerize your Angular with Schematics
This schematic adds configuration files and shell scripts to configure and run your angular project in a docker container.
tl;dr (Why?)
The original goal of this project is to give back-end developers a running angular front-end during development without them having to clone the front-end repository (assuming you have different repositories for back-end and front-end code), manage node versions, npm install everything, compile angular and so on. Or in short - deal with all the front-end technologies and compilation steps.
To achieve this, a build server could create an image with the setup provided by this schematic and your back-end developers can easily pull the image and start a container with your latest front-end.
If you are using Story Branches in your git workflow, you could tag the image with id of the story you are working on. This way you can publish multiple front-ends with their correspondig state of development.
# basic usage example with jira issue id as tag
# this will result in an image called:
# localhost:5000/your-angular-project:PROJECT-1234
ng add ng-dockerize -tag=PROJECT-1234
Then your back-end developers (or anyone else for that matter) can get the image like so:
docker run --rm -d -p 9999:9999 localhost:5000/angular-dockerize:PROJECT-1234
Usage
Adjust angular project
# basic usage
ng add ng-dockerize
Options
| option | default | description | | ------ | ------- | ----------- | | angularport | 9999 | external port number for your angular container | | dockerport | 5000 | port number of your docker hub/registry | | packagename | package.json (name) | used as name for the docker image | | push | true | push to your registry when building | | registry | "" | url to docker hub or your registry | | tag | package.json (version) | docker image tag | | username | "" | docker registry/hub username |
Options are used as flags.
# example usage
ng add -ng-dockerize --port=7777 --push=false
Build Docker Image and run it
# build the image
sh docker-build.sh
# Start The Container
docker-compose up
Look what you made me do :musical_note:
Go to http://localhost:9999
Requirements and Known Issues
- schematic compatible angular cli (tested with Angular 7)
- assumes angular app in /dist//*
- adds a shell script. If you cant run shell scripts you can copy the docker commands and run them yourself