Generator-jhipster: 🚀 Azure DevOps

Created on 16 Sep 2018  Â·  12Comments  Â·  Source: jhipster/generator-jhipster

Following this ticket (3 years ago): https://github.com/jhipster/generator-jhipster/issues/2182
Our QA needs to be improved continuously.

I made some tests with Azure DevOps: https://docs.microsoft.com/en-us/azure/devops/pipelines and it will allow us to make 10 parallel builds, instead of 5 with Travis.
The first PR for Azure Pipelines was done: https://github.com/jhipster/generator-jhipster/pull/8282

I open this ticket to inform you about all the work I will do.
The 1st thing will be to refactor the travis folder to a generic one like integration, build, cicd, or something else.

I don't plan to remove Travis, but to use both: Azure Pipelines + Travis

Don't hesitate to comment this ticket if you have any idea.

And sorry in advance, as this ticket will probably be opened for the next weeks / months, depending on the time I'll have to achieve. But I'm pretty sure Azure Pipelines will be epic for us!

area

Most helpful comment

I just tried it and it's great. Thanks for adding Azure Pipelines. Could you encourage people to setup the Azure Pipelines GitHub App with their repository instead of telling them to go to the Azure DevOps organization. It's an easier flow.

  • An azure-pipelines.yml will be added to your project.
  • Install the Azure Pipelines app from the GitHub Marketplace

All 12 comments

Maybe we can also integrate gitlab ci to have more pipelines or different pipelines. https://about.gitlab.com/features/github/

+++1 for gitlab

it can be discussed about GitLab CI. But how much parallel builds can we have with GitLab CI ?

  • Azure Pipelines: 10
  • Travis: 5
  • Circle CI: 4

As far as I know more or less infinite. At least I am not aware of some
limit. Each job per step is executed in parallel by default

On Sun, Sep 16, 2018, 11:35 Pascal Grimaud notifications@github.com wrote:

it can be discussed about GitLab CI. But how much parallel builds can we
have with GitLab CI ?

  • Azure Pipelines: 10
  • Travis: 5
  • Circle CI: 4

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jhipster/generator-jhipster/issues/8337#issuecomment-421732164,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMaidCkEUqLwqv1Gw9pHlLK-6oSrhU5ks5ubhtNgaJpZM4WqwCW
.

So now I remember how gitlab prices their ci solution. When using their shared runners there is a time limit per group: 2,000 CI pipeline minutes per group per month on our shared runners. Not sure, but maybe they will provide us with a larger plan for free if we would like to integrate them in to our pipelines.

Of course they have an open source program. We can get Gold for free if we apply and are accepted (I guess we will). This means we will get 50,000 CI pipeline minutes per month on our shared runners and the whole feature set of gold. I would definitely try to integrate it.

The work is finished.
I will PR soon, as soon as https://github.com/jhipster/generator-jhipster/pull/8484 is merged, then, I will rebase my branch.

Here the result: https://dev.azure.com/pascalgrimaud/generator-jhipster/_build/results?buildId=184&view=logs

Some feedbacks after playing a lot with Azure Pipelines. cc @jeremyepling

Pros:

  • 10 free parallel jobs are so incredible and will help a lot our Open Source projects
  • the node is started immediatly after the pull request, so we'll gain a lot of time here
  • the logs are splitted between steps so it's more readable
  • so more options I didn't have a look yet (dashboard, releases, etc)

Cons:

  • not responsive: reading the logs with mobile is very hard / impossible
  • I didn't find how to add cache for Maven (.m2/repository) or Gradle. Maybe using the Artifact system ? I need to read more docs here
  • when using parallel jobs, I didn't find a way to restart only 1 job -> restarting will relaunch all jobs. Maybe I should do 1 azure-pipelines.yml per build, instead of parallel jobs ?

@pascalgrimaud, Thanks for feedback. We're working on all your cons.

  1. We're starting the design work for Build Results and Logs on mobile next week. It'll take a longer to build and ship it.
  2. We're working on package caching. We'll start by having the most popular packages on the image. After that, we'll let you specify what should be cached.
  3. "Retry failed jobs" should deploy in November.

Thanks so much @jeremyepling
It's awesome to have your feedback here! Here this is for our own internal use, but for our end-users we have https://start.jhipster.tech/#/ci-cd - did you try it?

I just tried it and it's great. Thanks for adding Azure Pipelines. Could you encourage people to setup the Azure Pipelines GitHub App with their repository instead of telling them to go to the Azure DevOps organization. It's an easier flow.

  • An azure-pipelines.yml will be added to your project.
  • Install the Azure Pipelines app from the GitHub Marketplace

Thanks @jeremyepling
We will update text

Was this page helpful?
0 / 5 - 0 ratings

Related issues

trajakovic picture trajakovic  Â·  4Comments

pascalgrimaud picture pascalgrimaud  Â·  3Comments

dronavallisaikrishna picture dronavallisaikrishna  Â·  3Comments

ahmedeldeeb25 picture ahmedeldeeb25  Â·  3Comments

RizziCR picture RizziCR  Â·  3Comments