Discussion John Kumpf · 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

Comments

Suman Samanta · Oct 1, 2019

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

0
John Kumpf  Oct 7, 2019 to Suman Samanta

Thanks I'll look into this.

0
Dmitry Maslennikov · Oct 9, 2019

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.

0
John Kumpf  Oct 13, 2019 to Dmitry Maslennikov

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.

0
John Kumpf · Oct 31, 2019

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.

0
Nigel Salm · Jul 9, 2021

Hi

Please can you explain a little more about the terms contiuous integration and jenkins

Thanks

Nigel

0