Тёмный

Thinking Inside the Container- A Continuous Delivery Story - Use Case Track 

Подписаться
Просмотров 24 тыс.
% 280

Riot builds a lot of software. At the start of 2015 we were looking at 3000 build jobs over a hundred different applications and dozens of teams. We were handling nearly 750 jobs per hour and our build infrastructure needed to grow rapidly to meet demand. We needed to give teams total control of the “stack” used to build their applications and we needed a solution that enabled agile delivery to our players. On top of that, we needed a scalable system that would allow a team of four engineers to support over 250.
After as few explorations, we built an integrated Docker solution using Jenkins that accepts docker images submitted as build environments by engineers around the company . Our “containerized” farm now creates over 10,000 containers a week and handles nearly 1000 jobs at a rate of about 100 jobs an hour.
In this occasionally technical talk, we’ll explore the decisions that led Riot to consider Docker, the evolutionary stages of our build infrastructure, and how the open source and in-house software we combined to achieve our goals at scale. You’ll come away with some best practices, plenty of lessons learned, and insight into some of the more unique aspects of our system (like automated testing of submitted build environments, or testing node.js apps in containers with Chromium and xvfb).

Наука

Опубликовано:

 

29 июн 2016

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 15   
@maxfieldstewart672
@maxfieldstewart672 8 лет назад
Oh wow, my talk is online! Happy to answer questions here if anyone has 'em. Weird watching myself give this talk!
@1Yooter
@1Yooter 8 лет назад
Great talk! Learned a lot of important details.
@ab-zo4kw
@ab-zo4kw 8 лет назад
Good job man, phenomenal energy
@Douae321
@Douae321 8 лет назад
Hi Max, I'm starting to discover Docker. I found many documents that I am confused what is the best source to start. Can you help me?
@maxfieldstewart672
@maxfieldstewart672 8 лет назад
I can certainly try. What have you looked at so far? The biggest challenge you will face is that Docker changes versions a lot, you need to pay attention to the version of Docker referenced in the materials you have with the version currently available.
@FuzzyteddybearIV
@FuzzyteddybearIV 8 лет назад
First, great talk! Second, do you know if there is a Docker official version of drydock in the works anywhere?
@vincentpham7445
@vincentpham7445 4 года назад
Love containerize build farm
@Yogeshkad
@Yogeshkad 8 лет назад
Awesome presentation....cool stuff to explore and learn
@TaoWang1
@TaoWang1 8 лет назад
It's great talk about CD at scale. and docker-gc is really helpful.
@judezhu5588
@judezhu5588 7 лет назад
Fantastic!!!
@avinash4949
@avinash4949 6 лет назад
Great information !
@kalleidoskop2
@kalleidoskop2 7 лет назад
Great talk!
@drorfries9116
@drorfries9116 7 лет назад
Hello Maxfield Great lecture ! I am a s.w engineer leader, who works a bit with CI/CD. You had a comment about long build process 20h+ and that "need to see why it takes so long". The bottom line (before you go over all the rest), will it fit my needs? My problem relates to building of an enterprise software which has somehow long build process (which can be improved) but much more longer process of sanity/test , which is part of the CI (on the full deployed product). Lets say I can parallel some stuff by starting mutliple containers to ease the load, but are there some guidelines for the "type" of build process(in terms of lengths and resources) to fit the process/scale you have described? For the moment I am talking only about the CI process and not on the actual deployment for customers (CD). I might want to introdcude CD for QA/Dev sites Note about variant build size: I might have a few variant of builds (more version wise and less product wise) but not more than a dozen all together Thanks Dror
@Yogeshkad
@Yogeshkad 8 лет назад
the tech blog links on the riotgames site does not seems to work......has the url for tech blog changed? can you post the working url
@DesiRiderKK
@DesiRiderKK 8 лет назад
Hi Maxfield, I'm new to Jenkins and Docker both. I am currently working on project where I allow users to submit jobs to jenkins through my tool. And I was wondering if there is a way to use docker to dynamically spun-up Jenkins server and redirect all the user jobs coming from my application to this server and then destroy this jenkins once the work is done. Is it possible? if yes, how ? if no, Why? Also, I need to setup maven for this jenkins server, do I need another container for that? Ultimate goal is to create required infrastructure dynamically on commodity hardware that is idle and free up space when the setup is not needed anymore.