SlideShare a Scribd company logo
Jenkins Cloud
Jenkins in Docker in Mesos in...
@tolkv
2
@lavcraft
Jenkins Cloud
● Amazon EC2
Jenkins Cloud
● Amazon EC2
● Eucalyptus
Jenkins Cloud
● Amazon EC2
● Eucalyptus
● Docker
● Mesos
Jenkins Cloud
● Amazon EC2
● Eucalyptus
● Docker
● Mesos
Jenkins Cloud
● Amazon EC2
● Eucalyptus
● Docker
● Mesos
Что дает:
● Jenkins Master в каждый дом(проект)
● Shared Slaves
● = Jenkins as a Service
Предпосылки
● Jenkins Master – не самый стабильный
Предпосылки
● Jenkins Master – не самый стабильный
● Каждый хочет установить свой плагин
Предпосылки
● Jenkins Master – не самый стабильный
● Каждый хочет установить свой плагин
● И настроить “правильно”
Предпосылки
● Jenkins Master – не самый стабильный
● Каждый хочет установить свой плагин
● И настроить “правильно”
● И вообще сделать всео “по уму”
Хитрость
● Гды вы запускаете Jenkins?
Хитрость
● Гды вы запускаете Jenkins?
● На каких серверах запускать jenkins slave?
Проект $
Ресурсы на проект
Prod
App1
App2
App3
Db1
Db2
Db3
Проект $
Ресурсы на проект
Prod
App1
App2
App3
Db1
Db2
Db3
Dev
App1
App2
Db1
Проект $
Ресурсы на проект
Prod
App1
App2
App3
Db1
Db2
Db3
Dev
App1
App2
Db1
Infra
Mon1
Mon2
Проект $
Ресурсы на проект
Prod Dev Infra
Mon1
Mon2
Проект $
Ресурсы на проект
Prod Dev Infra
Mon1
Mon2
Jenkins
Resources
Проект $
Ресурсы на проект
Prod Dev Infra
Mon1
Mon2
Jenkins
Resources
Хитрость
● Гды вы запускаете Jenkins?
● На каких серверах запускать jenkins slave?
● А почему бы не запускать билды на разработческих стендах?
С чего начать
* Что каждый может сделать придя домой
Подходы
Раш
Подходы
Рациональный подход
Подходы
VS
Подходы
Подходы
Что имеется
● Docker
Что имеется
● Docker
● Mesos
Что имеется
● Docker
● Mesos
● Maratrhon
Что имеется
● Docker
● Mesos
● Maratrhon
● zookeeper …
● …
Jenkins
Jenkins
Jenkins Master
Jenkins
Jenkins Master Jenkins Slave
Запихаем в Docker
Запихаем в Docker
● Уже есть оффициальный на docker hub
https://hub.docker.com/_/jenkins/
● Отлично! Запускаем!
docker run -p 8080:8080 -it jenkins
Запихаем в Docker
● Уже есть оффициальный на docker hub
https://hub.docker.com/_/jenkins/
● Отлично! Запускаем!
docker run -p 8080:8080 -it jenkins
● А как же плагины? Давайте разбираться!
Начнем с Docker
https://github.com/jenkinsci/docker/blob/master/README.md#preinstalling-plugins
Dockerfile
FROM jenkins:2.32.1
COPY plugins.txt /usr/share/jenkins/ref/
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt
Dockerfile
FROM jenkins:2.32.1
COPY plugins.txt /usr/share/jenkins/ref/
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt
Начнем с Docker
$ docker build .
Начнем с Docker
$ cat plugins.txt
handlebars:1.1.1
icon-shim:2.0.3
ivy:1.27.1
jackson2-api:2.7.3
javadoc:1.4
jquery-detached:1.2.1
junit:1.19
ldap:1.14
mailer:1.18
mapdb-api:1.0.9.0
marathon:1.4.0
matrix-auth:1.4
matrix-project:1.8
maven-plugin:2.14
mesos:0.14.0
metrics:3.1.2.9
momentjs:1.1.1
pam-auth:1.3
pipeline-build-step:2.4
pipeline-graph-analysis:1.3
pipeline-input-step:2.5
Где взять plugins.txt
$ cd $JENKINS_HOME/plugins
Где взять plugins.txt
$ cd $JENKINS_HOME/plugins
$ tree
├── <PLUGIN_NAME>
│ ├── META-INF
│ │ ├── MANIFEST.MF
Где взять plugins.txt
$ cd $JENKINS_HOME/plugins
$ tree
├── <PLUGIN_NAME>
│ ├── META-INF
│ │ ├── MANIFEST.MF
Где взять plugins.txt
$ cd $JENKINS_HOME/plugins
$ tree
├── <PLUGIN_NAME>
│ ├── META-INF
│ │ ├── MANIFEST.MF
$ cat <PLUGIN_NAME>/META-INF/MANIFEST.MF
Где взять plugins.txt
$ cd $JENKINS_HOME/plugins
$ tree
├── <PLUGIN_NAME>
│ ├── META-INF
│ │ ├── MANIFEST.MF
$ cat <PLUGIN_NAME>/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Url:
https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+API+Plugin
Plugin-Version: 2.8
…
Где взять plugins.txt
$ cd $JENKINS_HOME/plugins
$ tree
├── <PLUGIN_NAME>
│ ├── META-INF
│ │ ├── MANIFEST.MF
$ cat <PLUGIN_NAME>/META-INF/MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Url:
https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+API+Plugi
n
Plugin-Version: 2.8
…
Где взять plugins.txt
for i in `MANIFEST.MF for all plugins`;
do
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
# Plugin-Version: 2.8
v=EXTRACT VERSION FROM FILE <plugin>/META-INF/MANIFEST.MF
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
# Plugin-Version: 2.8
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
# Plugin-Version: 2.8
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
# Plugin-Version: 2.8
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
# Plugin-Version: 2.8
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
# $i = ./workflow-api/META-INF/MANIFEST.MF
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
# ./workflow-api/META-INF/MANIFEST.MF
mod=EXTRACT PLUGIN NAME
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
# ./workflow-api/META-INF/MANIFEST.MF
mod=$(echo $i | cut -d'/' -f2);
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
# ./workflow-api/META-INF/MANIFEST.MF
mod=$(echo $i | cut -d'/' -f2);
done
Где взять plugins.txt
for i in `find -d $JENKINS_HOME/plugins -name "MANIFEST.MF"`;
do
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
mod=$(echo $i | cut -d'/' -f2);
done
Где взять plugins.txt
cd $JENKINS_HOME/plugins
for i in `find -d . -name "MANIFEST.MF"`;
do
v=$(cat $i| grep Plugin-Ver | cut -d':' -f2 | tr -d ' ');
mod=$(echo $i | cut -d'/' -f2);
echo $mod:$v; # pluginname:version
done
Инициализируем jenkins_home
● Запускаем Jenkins и монтируем JENKINS_HOME
docker run 
$PWD/jenkins_home:/var/jenkins_home 
-p 8080:8080 
-it jenkins
● Теперь у нас в jenkins_home все нужные плагины
Теперь у нас есть jenkins в Docker?
НЕТ
Теперь у нас есть jenkins в Docker?
Задеплоим Jenkins-Master
Mesos + Marathon + Marathon-LB
Деплоим Jenkins
Marathon
Manifest [Json]
Jenkins
Master
Деплоим Jenkins
Marathon
Manifest [Json]
Jenkins
Master
POST
Деплоим Jenkins
Marathon
Manifest [Json]
Jenkins
Master
POST EVENT
Reload
Деплоим Jenkins
Marathon
Manifest [Json]
Jenkins
Master
POST EVENT
Reload
ANNOUNCE
Деплоим Jenkins
Marathon
Manifest [Json]
Jenkins
Master
POST EVENT
Reload
ANNOUNCE
OPEN
UI
Деплоим Jenkins
Marathon
Manifest [Json]
Jenkins
Master
{"id": "/my_project/jenkins",
"cmd": "...",
"cpus": 2,
"mem": 2048,
"instances": 1,
"container": {
"type": "DOCKER",
"docker": { "image": "docker.moscow.alfaintra.net/jenkins:2.32.1-mesos", } },
"healthChecks": [ {
"path": "/proxy/raw/jenkins/passport/login",
"protocol": "HTTP",
"portIndex": 0,
...
} ],
"portDefinitions": [ {
"port": 11102,
"protocol": "tcp",
"name": "jenkinshttp",
},{
"port": 11103,
"protocol": "tcp",
"name": "jenkinsjnlp",
"labels": {}
},
{
"port": 11104,
"protocol": "tcp",
"name": "mesoslibprocess",
"labels": {}
} ] }
Публикуем по http
Marathon
Manifest [Json]
Jenkins
Master
{"id": "/my_project/jenkins",
...
"labels": {
"HAPROXY_DEPLOYMENT_GROUP": "cd_my_project_jenkins",
"HAPROXY_GROUP": "cd_my_project_jenkins",
"HAPROXY_0_PATH": "/proxy/raw/jenkins/my_project",
"HAPROXY_0_VHOST": "my_project.jenkins.cd"
},
…
}
Marathon LB
Marathon
Manifest [Json]
Jenkins
Master
{"id": "/my_project/jenkins",
...
"labels": {
"HAPROXY_DEPLOYMENT_GROUP": "cd_my_project_jenkins",
"HAPROXY_GROUP": "cd_my_project_jenkins",
"HAPROXY_0_PATH": "/proxy/raw/jenkins/my_project",
"HAPROXY_0_VHOST": "my_project.jenkins.cd"
"HAPROXY_0_HTTP_FRONTEND_ACL_WITH_PATH": " acl host_{cleanedUpHostname} hdr(host) -i
{hostname}n acl path_{backend} path_beg {path}n use_backend {backend} if path_{backend}n",
},
…
}
Marathon
Marathon
Manifest [Json]
Jenkins
Master
Marathon
Marathon
Manifest [Json]
Jenkins
Master
Открываем
● VHOST + PATH если есть DNS
Открываем
● VHOST + PATH если есть DNS
● Иначе кастомизируем Haproxy acl для варианта только с PATH
Открываем
● VHOST + PATH если есть DNS
● Иначе кастомизируем Haproxy acl для варианта только с PATH
● curl http://jenkins.my_project.mesosdev/
● curl http://any_nodehostname/proxy/raw/jenkins/my_project
Открываем
● VHOST + PATH если есть DNS
● Иначе кастомизируем Haproxy acl для варианта только с PATH
● curl http://jenkins.my_project.mesosdev/
● curl http://any_nodehostname/proxy/raw/jenkins/my_project
Открываем
● VHOST + PATH если есть DNS
● Иначе кастомизируем Haproxy acl для варианта только с PATH
● curl http://jenkins.my_project.mesosdev/
● curl http://any_nodehostname/proxy/raw/jenkins/my_project
● Jenkins не поддерживает X-Forwarded
ну или у меня не получилось завести...
Открываем
● VHOST + PATH если есть DNS
● Иначе кастомизируем Haproxy acl для варианта только с PATH
● curl http://jenkins.my_project.mesosdev/
● curl http://any_nodehostname/proxy/raw/jenkins/my_project
● Jenkins не поддерживает X-Forwarded
ну или у меня не получилось завести...
● см --prefix=/proxy/raw/jenkins/my_project
Проверим jenkins-mesos плагин
Jenkins Mesos Plugin
$JENKINS_URL/manage → $JENKINS_URL/configure
Jenkins Mesos Plugin
$JENKINS_URL/manage → $JENKINS_URL/configure
→
Jenkins Mesos Plugin
$JENKINS_URL/manage → $JENKINS_URL/configure
→
Mesos Hostname
Mesos native library path
APPLY
Не найден mesos.so
APPLY
Как это должно работать?
Jenkins
Master
Jenkins
SlaveJenkins
SlaveJenkins
SlaveJenkins
Slave
Как это должно работать?
Mesos
Master
Agent
Agent
Agent
AgentJenkins
Master
Jenkins
SlaveJenkins
SlaveJenkins
SlaveJenkins
Slave
Как это должно работать?
Mesos
Master
Agent
Agent
Agent
AgentJenkins
Master
Jenkins
SlaveJenkins
SlaveJenkins
SlaveJenkins
Slave
Как это должно работать?
Как это должно работать?
Jenkins
Master
Mesos
Master
Mesos
MasterMesos
Master
Agent
Agent
Agent
Agent
Jenkins
Slave
Mesos Native
$ docker build .
Dockerfile
FROM jenkins:2.32.1
ARG MESOS_VERSION
ARG MESOS_VERSION_DEB
ENV MESOS_VERSION ${MESOS_VERSION:-1.1.0}
ENV MESOS_VERSION_DEB ${MESOS_VERSION_DEB:-2.0.107.debian81}
ENV TMP_DIR=/tmp/mesos
USER root
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && 
echo "deb http://repos.mesosphere.com/debian jessie main" > /etc/apt/sources.list.d/mesosphere.list && 
apt-get update && 
apt-get install -y --no-install-recommends mesos=$MESOS_VERSION-$MESOS_VERSION_DEB && 
rm -rf /var/lib/apt/lists/*
USER jenkins
COPY plugins.txt /usr/share/jenkins/ref/
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt
Mesos Native
Dockerfile
FROM jenkins:2.32.1
...
USER root
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && 
echo "deb http://repos.mesosphere.com/debian jessie main" >
/etc/apt/sources.list.d/mesosphere.list && 
apt-get update && 
apt-get install -y --no-install-recommends 
mesos=$MESOS_VERSION-$MESOS_VERSION_DEB && 
rm -rf /var/lib/apt/lists/*
USER jenkins
COPY plugins.txt /usr/share/jenkins/ref/
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt
$ docker build .
Что там в Mesos?
Что там в Mesos?
Что там в Mesos?
Что там в Mesos?
Mesos Hostname
Specifies the hostname:port of the Mesos master.
● node1:zk_port,node2:zk_port,node3:zk_port
Mesos Hostname
Specifies the hostname:port of the Mesos master.
● node1:zk_port,node2:zk_port,node3:zk_port
● http://node1:2181/api/v1/scheduler
Mesos Hostname
Specifies the hostname:port of the Mesos master.
● node1:zk_port,node2:zk_port,node3:zk_port
● http://node1:2181/api/v1/scheduler
● zk://node1:2181,node2:2181,node3:2181
Mesos Hostname
Specifies the hostname:port of the Mesos master.
● node1:zk_port,node2:zk_port,node3:zk_port
● http://node1:2181/api/v1/scheduler
● zk://node1:2181,node2:2181,node3:2181
● zk://node1:2181,node2:2181,node3:2181/mesos
Mesos Hostname
Specifies the hostname:port of the Mesos master.
● node1:zk_port,node2:zk_port,node3:zk_port
● http://node1:2181/api/v1/scheduler
● zk://node1:2181,node2:2181,node3:2181
● zk://node1:2181,node2:2181,node3:2181/mesos
А теперь что в Mesos?
А теперь что в Mesos?
А теперь что в Mesos?
Разберемся
Разберемся
CLI
JNLP
HTTP
MESOS
Jenkins in
Docker
Разберемся
CLI_PORT
JNLP_PORT
HTTP_PORT
CLI_ADVERTIZED_PORT
MESOS_PORT
HTTP_ADVERTIZED_PORT
JNLP_ADVERTIZED_PORT
MESOS_ADVERTIZED_PORT
Внутри
контейнера
Внутренние
порты Внешние
порты
Jenkins in
Docker
Во вне
Как лечим
● -Dhudson.TcpSlaveAgentListener.port=$PORT1
● JENKINS_SLAVE_AGENT_PORT=$PORT1
● --httpPort=$PORT0
Разберемся
CLI_ADVERTIZED_PORT
HTTP_ADVERTIZED_PORT
JNLP_ADVERTIZED_PORT
MESOS_ADVERTIZED_PORT
Внутренние
порты Внешние
порты
Jenkins in
Docker
Mesos
Master
LIBPROCESS_ADVERTIZED_PORT
LIBPROCESS_ADVERTIZED_IP
CL_PORT
JNLP_PORT
HTTP_PORT
CLI_ADVERTIZED_PORT
MESOS_PORT
HTTP_ADVERTIZED_PORT
JNLP_ADVERTIZED_PORT
MESOS_ADVERTIZED_PORT
Внутри
контейнера
Во вне
Как лечим
● -Dhudson.TcpSlaveAgentListener.port=$PORT1
● JENKINS_SLAVE_AGENT_PORT=$PORT1
● --httpPort=$PORT0
● LIBPROCESS_PORT=$PORT2
Как лечим
● -Dhudson.TcpSlaveAgentListener.port=$PORT1
● JENKINS_SLAVE_AGENT_PORT=$PORT1
● --httpPort=$PORT0
● LIBPROCESS_PORT=$PORT2
Build Now
Что еще можно потюнить?
Соберём что нибудь
Набор инструментов
● Jenkins Tools
○ M3
○ Docker
○ Gradle
○ ...
Набор инструментов
● Jenkins Tools
○ M3
○ Docker
○ Gradle
○ …
● Docker image per task type
Jenkins Jobs. Pipeline
node('mesos-jendev'){
...
}
Jenkins Jobs. Pipeline
node('mesos-jendev'){
...
}
Название Jenkins Cloud
Jenkins Jobs. Pipeline. Custom image
node('mesos-jendev'){
...
}
node('mesos-jendev:jenkins-slave:java-with-curl'){
...
}
Название Jenkins Cloud в котором
будет запущен таск
Название образа в котором
будет запущен новый
jenkins-slave
Jenkins Jobs. Pipeline. Dind Image
node('mesos-jendev:jenkins-slave:java-dind'){
...
}
Docker client конфликт версий
● Официальный dind образ для docker 1.12+
Docker client конфликт версий
● Официальный dind образ для docker 1.12+
● Docker на сервере 1.10 – 1.12
Docker client конфликт версий
● Официальный dind образ для docker 1.12+
● Docker на сервере 1.10 – 1.12
● Клиент 1.12 не работает с сервером 1.10
Docker client конфликт версий
● Официальный dind образ для docker 1.12+
● Docker на сервере 1.10 – 1.12
● Клиент 1.12 не работает с сервером 1.10
● Сделаем свой?
Docker client конфликт версий
● Официальный dind образ для docker 1.12+
● Docker на сервере 1.10 – 1.12
● Клиент 1.12 не работает с сервером 1.10
● Сделаем свой?
● Нет, обновим Docker
Jenkins Jobs. Pipeline. Custom image
node('mesos-jendev:jenkins-slave:java-with-curl'){
stage('fetch'){
checkout scm
}
stage('build'){
...
}
}
node('mesos-jendev:jenkins-slave:java-with-curl'){
stage('fetch'){
checkout scm
}
stage('build'){
def server = Artifactory.server 'alfa-laboratory'
def rtGradle = Artifactory.newGradleBuild()
def buildInfo = Artifactory.newBuildInfo()
rtGradle.run tasks: 'snapshot', buildInfo: buildInfo
}
}
Jenkins Jobs. Pipeline. Custom image
Jenkins Job in Mesos Cluster in Docker
Jenkins Slaves под нашим контролем
● jenkins home persistence – требует mesos 1.0.1 + (Incubating API)
● работа с Network BRIDGE – боль
○ jenkins jnlp4 handshake
○ advertized ports
○ mesos LIBPROCESS
● build cache and incremental builds
● gradle cache problems gradle/851
● link to MESOS_SANDBOX from builds
Немного проблем
Резюме
● Jenkins`a стоит бояться
● Jenkins Cloud для энтузиастов
Резюме
● Jenkins`a стоит бояться
● Jenkins Cloud для энтузиастов
● Подумайте 3 раза нужно ли вам это
● Если не нужно не используйте
Резюме
● Jenkins`a стоит бояться
● Jenkins Cloud для энтузиастов
● Подумайте 3 раза нужно ли вам это
● Если не нужно не используйте
● Можно упороться и заставить работать Jenkins Cloud
node('mesos-jendev:jenkins-slave:java-with-httpie'){
echo '1'
deployTo()
echo '5'
}
@NonCps
def deployTo() {
echo '2'
isExistInCluster()
echo '4'
}
def isExistInCluster() {
echo '3'
Pipeline прямиком из ада
Pipeline прямиком из ада
> 1
> 2
> 3
> 5
> End Stage
> End Pipline
node('mesos-jendev:jenkins-slave:java-with-httpie'){
echo '1'
deployTo()
echo '5'
}
@NonCps
def deployTo() {
echo '2'
isExistInCluster()
echo '4' // < ---- SKIPED
}
def isExistInCluster() {
echo '3'
Pipeline прямиком из ада
Заходите на чай
https://goo.gl/HjfOz5
QA

More Related Content

What's hot

Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Oleg Nenashev
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
Дмитрий Столяров
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
Pavel Klimiankou
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Ontico
 
Docker 1.9
Docker 1.9Docker 1.9
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Ontico
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
Ruslan Sharipov
 
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TKConf
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
Alex Chistyakov
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
Ruslan Sharipov
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
corehard_by
 
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Александр Сигачев
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Badoo Development
 
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Ontico
 
Release management with Gradle #JokerConf2016
Release management with Gradle #JokerConf2016Release management with Gradle #JokerConf2016
Release management with Gradle #JokerConf2016
Кирилл Толкачёв
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
Кузьмицкий Александр
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
Anton Turetsky
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
LogeekNightUkraine
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
FallenKain
 

What's hot (20)

Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
Управление секретами в кластере Kubernetes при помощи Hashicorp Vault / Серге...
 
Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?Docker - счастье для хомячка или ника?
Docker - счастье для хомячка или ника?
 
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TК°Conf. Микросервисы и Docker. Глеб Паньшин.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
 
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
 
Release management with Gradle #JokerConf2016
Release management with Gradle #JokerConf2016Release management with Gradle #JokerConf2016
Release management with Gradle #JokerConf2016
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
 
Docker: from understanding to production
Docker: from understanding to productionDocker: from understanding to production
Docker: from understanding to production
 
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
Andrii Medvedchuk "Kubernetes and Docker Basics for Running Web Apps"
 
Docker - быстро, просто, наглядно
Docker - быстро, просто, наглядноDocker - быстро, просто, наглядно
Docker - быстро, просто, наглядно
 

Viewers also liked

Дикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG ЕкатеринбургДикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG Екатеринбург
Кирилл Толкачёв
 
The Butler is still young – applying modern Jenkins features to the Embedded ...
The Butler is still young – applying modern Jenkins features to the Embedded ...The Butler is still young – applying modern Jenkins features to the Embedded ...
The Butler is still young – applying modern Jenkins features to the Embedded ...
Oleg Nenashev
 
Master's Project -- Andrew W. Szmurlo
Master's Project -- Andrew W. SzmurloMaster's Project -- Andrew W. Szmurlo
Master's Project -- Andrew W. SzmurloAndrew Szmurlo
 
Hintergrundpapier zu verringerten ausbauzielen für erneuerbare energien
Hintergrundpapier zu verringerten ausbauzielen für erneuerbare energienHintergrundpapier zu verringerten ausbauzielen für erneuerbare energien
Hintergrundpapier zu verringerten ausbauzielen für erneuerbare energienmetropolsolar
 
Exe learning arbol de contenidos-uch
Exe learning   arbol de contenidos-uchExe learning   arbol de contenidos-uch
Exe learning arbol de contenidos-uchGladys Flores Hurtado
 
Charla Debian en Servidores
Charla Debian en ServidoresCharla Debian en Servidores
Charla Debian en Servidores
Daniel A. Melo Salamanca
 
Presentación computación
Presentación computaciónPresentación computación
Presentación computación
Nathys-15
 
I sistemi di Web Content Filtering
I sistemi di Web Content FilteringI sistemi di Web Content Filtering
I sistemi di Web Content Filtering
mmarcuzzi
 
Comarch Paiement Mobile
Comarch Paiement MobileComarch Paiement Mobile
Comarch Paiement Mobile
Comarch SAS
 
Slide of the Month - Payment cards in Nigeria
Slide of the Month - Payment cards in NigeriaSlide of the Month - Payment cards in Nigeria
Slide of the Month - Payment cards in Nigeria
Marc Zander
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
Ed Leighton-Dick
 
Соревнования по анализу данных: история, тактика, простые методы
Соревнования по анализу данных: история, тактика, простые методыСоревнования по анализу данных: история, тактика, простые методы
Соревнования по анализу данных: история, тактика, простые методы
Александр Дьяконов
 
Минимизация булевых функций с малым числом нулей в классе нормальных форм
Минимизация булевых функций с малым числом нулей в классе нормальных формМинимизация булевых функций с малым числом нулей в классе нормальных форм
Минимизация булевых функций с малым числом нулей в классе нормальных форм
Александр Дьяконов
 
Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...
Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...
Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...
Александр Дьяконов
 
CI/CD/DevOps 使用 travis ci 服務
CI/CD/DevOps 使用 travis ci 服務CI/CD/DevOps 使用 travis ci 服務
CI/CD/DevOps 使用 travis ci 服務
Yu Lung Shao
 

Viewers also liked (15)

Дикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG ЕкатеринбургДикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG Екатеринбург
 
The Butler is still young – applying modern Jenkins features to the Embedded ...
The Butler is still young – applying modern Jenkins features to the Embedded ...The Butler is still young – applying modern Jenkins features to the Embedded ...
The Butler is still young – applying modern Jenkins features to the Embedded ...
 
Master's Project -- Andrew W. Szmurlo
Master's Project -- Andrew W. SzmurloMaster's Project -- Andrew W. Szmurlo
Master's Project -- Andrew W. Szmurlo
 
Hintergrundpapier zu verringerten ausbauzielen für erneuerbare energien
Hintergrundpapier zu verringerten ausbauzielen für erneuerbare energienHintergrundpapier zu verringerten ausbauzielen für erneuerbare energien
Hintergrundpapier zu verringerten ausbauzielen für erneuerbare energien
 
Exe learning arbol de contenidos-uch
Exe learning   arbol de contenidos-uchExe learning   arbol de contenidos-uch
Exe learning arbol de contenidos-uch
 
Charla Debian en Servidores
Charla Debian en ServidoresCharla Debian en Servidores
Charla Debian en Servidores
 
Presentación computación
Presentación computaciónPresentación computación
Presentación computación
 
I sistemi di Web Content Filtering
I sistemi di Web Content FilteringI sistemi di Web Content Filtering
I sistemi di Web Content Filtering
 
Comarch Paiement Mobile
Comarch Paiement MobileComarch Paiement Mobile
Comarch Paiement Mobile
 
Slide of the Month - Payment cards in Nigeria
Slide of the Month - Payment cards in NigeriaSlide of the Month - Payment cards in Nigeria
Slide of the Month - Payment cards in Nigeria
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
 
Соревнования по анализу данных: история, тактика, простые методы
Соревнования по анализу данных: история, тактика, простые методыСоревнования по анализу данных: история, тактика, простые методы
Соревнования по анализу данных: история, тактика, простые методы
 
Минимизация булевых функций с малым числом нулей в классе нормальных форм
Минимизация булевых функций с малым числом нулей в классе нормальных формМинимизация булевых функций с малым числом нулей в классе нормальных форм
Минимизация булевых функций с малым числом нулей в классе нормальных форм
 
Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...
Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...
Устранение шума в анализе твитов, связь смежности и модулярности при разбиени...
 
CI/CD/DevOps 使用 travis ci 服務
CI/CD/DevOps 使用 travis ci 服務CI/CD/DevOps 使用 travis ci 服務
CI/CD/DevOps 使用 travis ci 服務
 

Similar to Jenkins в docker in mesos in ...

Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Александр Егурцов
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
Yandex
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
Омские ИТ-субботники
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Nikita Borzykh
 
GitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с KubernetesGitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с Kubernetes
Victor Login
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорьdrupalconf
 
Docker в development окружение
Docker в development окружениеDocker в development окружение
Docker в development окружение
Александр Сигачев
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantDaria Oreshkina
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
JSib
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
Yandex
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов ИгорьPVasili
 
Docker
DockerDocker
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
Ivan Grishaev
 
Instalarea DSpace
Instalarea DSpaceInstalarea DSpace
Instalarea DSpace
Natalia Cheradi
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаAlexander Kirillov
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
Open-IT
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
ITCrowd Almaty
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание среды
DrupalSib
 

Similar to Jenkins в docker in mesos in ... (20)

Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Устройство фреймворка symfony 2 (http://frontend-dev.ru)
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.Истинный DevOps. Секрет 42.
Истинный DevOps. Секрет 42.
 
GitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с KubernetesGitLab, Prometheus и Grafana с Kubernetes
GitLab, Prometheus и Grafana с Kubernetes
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорь
 
Docker в development окружение
Docker в development окружениеDocker в development окружение
Docker в development окружение
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с Vagrant
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 
Docker
DockerDocker
Docker
 
От Make к Ansible
От Make к AnsibleОт Make к Ansible
От Make к Ansible
 
Instalarea DSpace
Instalarea DSpaceInstalarea DSpace
Instalarea DSpace
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Docker с чем едят и для чего используют
Docker с чем едят и для чего используютDocker с чем едят и для чего используют
Docker с чем едят и для чего используют
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание среды
 
Erlang tasty & useful stuff
Erlang tasty & useful stuffErlang tasty & useful stuff
Erlang tasty & useful stuff
 

More from Кирилл Толкачёв

Curse of spring boot test [VRN]
Curse of spring boot test [VRN]Curse of spring boot test [VRN]
Curse of spring boot test [VRN]
Кирилл Толкачёв
 
Wild microservices and imaginary DevOps
Wild microservices and imaginary DevOpsWild microservices and imaginary DevOps
Wild microservices and imaginary DevOps
Кирилл Толкачёв
 
Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline
Кирилл Толкачёв
 
Spring Boot Ripper
Spring Boot RipperSpring Boot Ripper
Spring Boot Ripper
Кирилл Толкачёв
 
Gradle in Enterprise, Is it possible?
Gradle in Enterprise, Is it possible?Gradle in Enterprise, Is it possible?
Gradle in Enterprise, Is it possible?
Кирилл Толкачёв
 
Curse of spring boot test
Curse of spring boot testCurse of spring boot test
Curse of spring boot test
Кирилл Толкачёв
 
Spring Boot Test horror
Spring Boot Test horrorSpring Boot Test horror
Spring Boot Test horror
Кирилл Толкачёв
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
Кирилл Толкачёв
 
Java Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real worldJava Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real world
Кирилл Толкачёв
 
Joker 2015 Wild microSERVICES
Joker 2015 Wild microSERVICESJoker 2015 Wild microSERVICES
Joker 2015 Wild microSERVICES
Кирилл Толкачёв
 

More from Кирилл Толкачёв (10)

Curse of spring boot test [VRN]
Curse of spring boot test [VRN]Curse of spring boot test [VRN]
Curse of spring boot test [VRN]
 
Wild microservices and imaginary DevOps
Wild microservices and imaginary DevOpsWild microservices and imaginary DevOps
Wild microservices and imaginary DevOps
 
Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline Jenkins Imperative Pipeline vs Declarative Pipeline
Jenkins Imperative Pipeline vs Declarative Pipeline
 
Spring Boot Ripper
Spring Boot RipperSpring Boot Ripper
Spring Boot Ripper
 
Gradle in Enterprise, Is it possible?
Gradle in Enterprise, Is it possible?Gradle in Enterprise, Is it possible?
Gradle in Enterprise, Is it possible?
 
Curse of spring boot test
Curse of spring boot testCurse of spring boot test
Curse of spring boot test
 
Spring Boot Test horror
Spring Boot Test horrorSpring Boot Test horror
Spring Boot Test horror
 
Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016Эволюционный дизайн. Joker Students Day 2016
Эволюционный дизайн. Joker Students Day 2016
 
Java Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real worldJava Day Minsk 2016 Keynote about Microservices in real world
Java Day Minsk 2016 Keynote about Microservices in real world
 
Joker 2015 Wild microSERVICES
Joker 2015 Wild microSERVICESJoker 2015 Wild microSERVICES
Joker 2015 Wild microSERVICES
 

Jenkins в docker in mesos in ...