Discussion
· Sep 30, 2019

Is anyone working with a continuously integrated Angular UI right now?

Hi all,

Over the next few months I'm going to be setting up continuous integration via Jenkins for some Angular UI's.  The goal is to, on each build:

1. build the code

2. run the unit tests and get a report

3. get a code coverage report

Just wanted to poll the community in case someone else has already worked with any of this before.  All ideas are appreciated.

Cheers,

Johnny

Discussion (7)1
Log in or sign up to continue

Yes we are 2 different jobs for UI and back-end deployment.

Our cache back-end gets deployed first if back-end is successful we do go ahead with UI deployment.

For cache Unit testing you need to handle it from cache code. We have one shell script which does call the cache object script deployment code and internally our cache deployment script runs the unit test(and code coverage).

For angular its easy using maven , Jenkins has in built functionlity for Angular with Maven

The best solution right now would be to use something more modern than Jenkins, something base on Docker.

You can do it with any other on-prem tools like GitLab-CI, or Jenkins-X.

Some time ago I did some example repository for GitLab-CI, with Kubernetes deployment. I did not check it for a while, so, it may not work like it in the beginning, but I think it still can be useful as an example.

Interesting.  We already have all of our Cache code building, running unit tests, and running code coverage on Jenkins.  My current plan is to see how easy/difficult it is to fit Angular build/test/coverage into that architecture, so that we can have everything in once place.

If there are features we can't have with Jenkins, or if it turns out to be so difficult that it may be worth splitting up our continuous integration across multiple platforms, I'll definitely give this stuff a look.  Thanks for the advice.

We now have continuous integration with Jenkins in Angular.

At a high level, the steps are:

1. add a line like ng test --code-coverage --browsers=ChromeHeadless to your build script

2. have Jenkins publish the code coverage HTML report with it's HTML Reports plugin

3. install karma-junit-reporter and have it output the test report to a location on the build machine where it can be globbed together with other junit test reports you want to publish

I'd be happy to talk about these steps more if anyone is doing the same thing.