11

There are no fundamental technical issues with running multiple jenkins slaves on the same machine. In fact Running Multiple Slaves on the Same Machine lists several good reasons for doing it: While the correct use of executors largely obviates the need for multiple slave instances on the same machine, there are some unique use cases to consider: ...


10

The desired_capacity in Terraform is marked in the documentation as optional. So with a proper min_size value, Terraform can wait until the minimum capacity is reached before continuing. The above, with the addition of scale policy can effectively manage capacity without being specific about desired_capacity in your Terraform code. This will prevent you ...


9

The same as any Linux load, consider no more processes in wait state than the number of CPU. The load on 1, 5 and 15 mins given by uptime should ideally be 1 less than number of cores. Containers are roughly isolated processes, leaving a core for orchestration avoid congestion. That doesn't mean only 7 containers on a 8 cores machine, it's a matter of ...


5

Prometheus use a timeseries databases with vacuum, the documentation gives some maths to plan your disk consumption: On average, Prometheus uses only around 1-2 bytes per sample. Thus, to plan the capacity of a Prometheus server, you can use the rough formula: needed_disk_space = retention_time_seconds * ingested_samples_per_second * bytes_per_sample ...


5

Use Kubernetes and Helm. I would recommend using the Jenkins Helm chart. It installs with helm install stable/jenkins and automatically scales. https://github.com/kubernetes/charts/tree/master/stable/jenkins


5

Yes, but it's by preventing the things you mention in your question as much as possible. You are right that there are only so much developers that can work on the same code before things become unmanageable. You need someone or something that has an overview of all changes and makes sure integration works fine and regression doesn't occur. This is hard to ...


4

As the number of developers working on the same branch increases the risk of breakages/blockages increases. Eventually a point is reached where on average by the time a breakage is fixed a new one appears While the first part of the sentence is probably statistically correct I disagree with the second. CI and integration branches cannot defeat GIGO (...


3

In reply to 'Would Amazon EC2 / Google / Azure be cheaper than having dedicated servers?' I've done a lot of investigating into this and in every case they are NOT. 80 Linux servers running 24h/365 - annual cost: Total cost per year Google £37,515.46 AWS £29,196.53 These costs do NOT include data transfer. You can buy a dedicated cloud ...


3

I think you should do neither ;) Well kinda. I think you need more executors, maybe your builds are really resource intensive? I would run at least 4 but we run 6 to 8 depending on jobs. I like to match # of cores to exectors. So you might want to scale up your nodes, I think we run a M4 large for our 4-8 executors. I also think you should scale-out but ...


2

I'd scale out instead of scale up, going for option 3. We have made a setup where we have all Jenkins agents running on an ECS (custom Docker based Jenkins) with an auto-scaling group. We have all our Jenkins masters communicating to the ECS, thus sharing the workload on the ECS, and no need to recreate the Jenkins master in a scale up exercise.


2

You can use the rich jira rest API for this kind of automation work. Jira API provides mechanism to update logged hours using PUT /rest/api/2/issue/{issueIdOrKey}/worklog/{id} You can use this rest API endpoint to update the corresponding issue with the difference of first commit timestamp and first successful CD. Find more about it here.


2

Currently my team uses Jira, and it's RapidBoard agile thing. We aren't using real agile, but it's nice to schedule work loads for the next week. Jira can be super complex, but we Have our tickets set up to: New -->InProgress -->Done +-> Won't Do It can be linked to github or to Bitstream, etc. which is nice. If you want more complex code ...


1

(N.B. this answer is, in the spirit of the question, high-level and not very concrete...) How can I calculate throughput of our system If by "calculate" you mean to take some data points, dry run some formulas and get a pretty close approximation to your throughput - that is pretty much impossible, unless you have a lot more information - which may also ...


1

I personally have spinned 100 containers on a 32vcpu machine and as many docker containers pin to random CPUs, there is no such correlation between number of containers and number of vcpus. As docker containers can be thought of as processes, it seems logical what @Tensibai has mentioned.


Only top voted, non community-wiki answers of a minimum length are eligible