I
I
Ivan Lartsov2020-09-21 16:34:06
Continuous Integration
Ivan Lartsov, 2020-09-21 16:34:06

I want to find a suitable CI/CD, which one should I choose?

I am doing a project on NodeJS (back + front), the moment has come when you need to set up automatic collection of builds.
I have not worked with CI / CD before, I only saw Jenkins at my last job.
I have several "requirements/desires" that make it difficult for me to choose a system. It's trite because such things are not immediately written in the documentation, but taking one thing, figuring it out for a couple of days and understanding what doesn't fit is strange.

* Local server, required

* I have everything written in node js, it would be cool to be able to write scripts in js too. As I understand it,
you can just call batch files (I work on Windows) and run scripts from a node, then this is not a problem

* Need certain builds to be built on certain triggers, such as keywords in the master branch commit. For example, if the commit contains [project1] v1.2.0, then the project1 build is launched, and if [project2] v1.3.0, then, of course, project2.

* It is necessary to be able to form a message from the commit messages, before the previous version.
Those. for example, I write in commit [project1] v1.0.1 - I need to collect the text from all commits, before version 1.0.0, which are marked with the text [project1]. It is quite possible that this is some kind of bicycle and normal people do it differently - I will be glad for advice!

Branch example with commits:
[project1] v1.0.1
[project1] fix: fixed something
[project2] new: did
something [project1] new: did something else
[project1] v1.0.0

As a result, I should receive a message only related to project1
v1.0.1
fix: fixed something
new: did something else

* After the build, the message with commits needs to be sent to the bot's telegram (again, I myself will write a script in which this message needs to be somehow transferred )

I would be glad to advice on any item!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
V
Vitaly Karasik, 2020-09-21
@vitaly_il1

All this can be done on Jenkins.

the ability to write scripts also in js
  - as you said, call external scripts.
Would it be easier to do all this on GitLab CI/CD or Azure DevOps? - I know them very little, I can not compare.

V
Vitsliputsli, 2020-09-21
@Vitsliputsli

1) The local server and CI/CD are not connected in any way.
2) You can write your own CI/CD in js. Or use any popular solution and run js scripts from it, I haven’t seen it done, but why not.
3) Different projects are stored in different repositories, these are the basic principles for using version control systems.
4) Usually in ready-made solutions there are automatically generated lists of changes, in fact, a list of commits that distinguish the current build from the previous one. But "before version 1.0.0" is something strange, if you do it yourself.
There is no big difference between ready-made solutions, you can always implement cunning Wishlist yourself. There are, of course, nuances, for example, GitLab for complex things is paid, but you are unlikely to need them.
It is difficult to advise anything, because. I think the system is weird. Usually different projects are located in different repositories, it's more convenient. Versions are hung with tags and builds are often collected exactly by tags, although it happens by branches too.
Focusing on the phrase "I'm making a project on NodeJS (back + front), the moment has come when you need to set up automatic collection of builds" I want to ask, why do you need CI / CD at all, you need to automate the build - automate, why do you need CI / CD?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question