Sign inSign up

awesomeinc/angular-cli

By awesomeinc

Updated almost 8 years ago

A Node image containing a global installation of @angular/cli to build applications in a container.

Image
0

10K+

awesomeinc/angular-cli repository overview

angular-cli

Build status GitHub issues GitHub stars

A Node image containing a global installation of @angular/cli to build Angular applications in a container.

dockeri.co

Usage

A usage example is given in ./myapp/Dockerfile.

Unit Testing (Karma)

To make the usual ng test work inside docker the relevant tweak is to use a custom launcher that adds some headless parameters when starting chromium.

Add the following to your karma.conf.js

const isDocker = require('is-docker')();
...
    // cf.: https://hackernoon.com/running-karma-tests-with-headless-chrome-inside-docker-ae4aceb06ed3
    browsers: isDocker ? ['ChromeDocker'] : ['Chrome'],
    customLaunchers: {
      ChromeDocker: {
        base: 'ChromeHeadless',
        flags: [
          '--headless',
          '--disable-gpu',
          '--no-sandbox',
          '--remote-debugging-port=9222',
          '--window-size=800,600'
        ]
      }
    },

We used is-docker to detect whether we are running inside Docker. So you should add it as development dependency in your package.json like this

    "is-docker": "^1.1.0"
End-To-End Testing (Protractor)

For ng e2e tweak your protractor.conf.js like this

const isDocker = require('is-docker')();
...
  capabilities: {
    'browserName': 'chrome',

    // Run tests in a headless Chrome
    // https://github.com/angular/protractor/blob/master/docs/browser-setup.md#using-headless-chrome
    chromeOptions: {
      args: isDocker ? [
        // IMPORTANT: Required flag for running Chrome in unprivileged Docker,
        // see https://github.com/karma-runner/karma-chrome-launcher/issues/125#issuecomment-312668593
        '--headless',
        '--disable-gpu',
        '--no-sandbox',
        '--window-size=800,600'
      ] : []
    }
  },
  // Use pre-installed chromedriver (alpine)
  chromeDriver: isDocker ? '/usr/bin/chromedriver' : null,

Tag summary

Content type

Image

Digest

Size

193 MB

Last updated

almost 8 years ago

docker pull awesomeinc/angular-cli