Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Хелло, докер ворлд!
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Alexander
November 09, 2018
Technology
1
67
Хелло, докер ворлд!
Поговорили о том, как поднять CI на локальной машине. И в чем польза для мобильного разработчика
Alexander
November 09, 2018
Tweet
Share
More Decks by Alexander
See All by Alexander
Во все тяжкие мобильных релизов
garf1eld
0
34
GraphQL: плюсы и минусы
garf1eld
0
490
Other Decks in Technology
See All in Technology
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
350
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
120
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
110
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
970
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
250
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
220
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
Facilitating Awesome Meetings
lara
57
6.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Testing 201, or: Great Expectations
jmmastey
46
8k
Scaling GitHub
holman
464
140k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Spectacular Lies of Maps
axbom
PRO
1
520
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Transcript
1 Александр Подлинов «Хелло, докер ворлд!»
План 2 Проблема Цель Решение Создание образа Запуск
Цель Запустить тесты 3
Мотивация 4 Автоматизация Тесты Анализаторы Сборка апк Отчеты Git
Проблема 5 Как поднять CI? Обычно мы этим не занимаемся
Культура
Докер 6 Контейнер Образ Реестр Простота эксплуатации
Образ 7 FROM RUN
FROM 8 FROM ubuntu:16.04
RUN 9 RUN apt-get update
Образ 10 FROM ubuntu:16.04 RUN apt-get update
Контейнер 11 ОС Пользовательские файлы Зависимости
Реестр aka Регистр 12 Хранилка образов
Реестр aka Регистр 13 docker pull repository/docker-android docker pull bitriseio/docker-android
Пример:
Установка www.docker.com 14
Установка 15 $ docker --version Docker version 18.06.1-ce, build e68fc7a
https://hub.docker.com/ 16
Как сделать свой первый образ https://hub.docker.com/ 17
Локальный образ 18 ОС Java SDK
Локальный образ 19 ОС - ubuntu FROM ubuntu:16.04 RUN apt-get
update
Локальный образ 20 Java
Локальный образ 21 Java RUN apt-get install default-jdk -y
Локальный образ 22 Java
.dockerignore 23 .local.properties
SDK 24 https://developer.android.com/studio/
SDK 25
26 GNU nano 2.0.6 File: Dockerfile FROM ubuntu:16.04 RUN apt-get
update RUN apt-get install default-jdk -y RUN java -version RUN apt-get install -y curl git zip unzip WORKDIR /usr/android/ # Set up environment variables ENV ANDROID_HOME="/usr/android/android-sdk-linux" ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" ENV GRADLE_URL="https://services.gradle.org/distributions/gradle-4.5.1-all.zip" # Download Android SDK RUN mkdir $ANDROID_HOME .android \ && cd $ANDROID_HOME \ && curl -o sdk.zip $SDK_URL \ && unzip sdk.zip \ && rm sdk.zip \ && yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
27 $ docker build . $ successfully built 1c2b799ad0d6 $
docker tag presentation_image:1 1c2b799ad0d6
Что на счет CI? https://hub.docker.com/r/jetbrains/teamcity-server/ 28 Инструкция $ docker pull
jetbrains/teamcity-agent $ docker pull jetbrains/teamcity-server
Что на счет CI? 29 $ docker images jetbrains/teamcity-agent latest
e86224af1f57 4 weeks ago 1.46GB jetbrains/teamcity-server latest 3f4d3b8ffc83 4 weeks ago 1.67GB
Поднимаем тимсити docker run -it --name teamcity-server-instance \ -v /Users/podlinov/tc_folder:/data/teamcity_server/datadir
\ -v /Users/podlinov/tc_folder:/opt/teamcity/logs \ -p 8080:8111 \ jetbrains/teamcity-server 30
Тимсити http://localhost:8080/ 31
Тимсити 32 From repository URL
Тимсити 33
Тимсити 34
Тимсити 35
Тимсити 36
Тимсити 37
Тимсити 38
Тимсити 39
Тимсити 40 https://hub.docker.com/r/jetbrains/teamcity-agent/ Инструкция
Тимсити 41 docker run -it -e SERVER_URL=localhost:8080 \ --net=host \
-v /Users/podlinov/tc_folder/agentconfig:/data/teamcity_agent/conf \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /Users/podlinov/tc_folder/agent_cfg/work:/opt/buildagent/work \ -v /Users/podlinov/tc_folder/agent_cfg/temp:/opt/buildagent/temp \ -v /Users/podlinov/tc_folder/agent_cfg/tools:/opt/buildagent/tools \ -v /Users/podlinov/tc_folder/agent_cfg/plugins:/opt/buildagent/plugins \ -v /Users/podlinov/tc_folder/agent_cfg/system:/opt/buildagent/system \ jetbrains/teamcity-agent
Агент 42
Агент 43
Советы - Запускать и собирать образы локально - Постараться создать
свои образы чтобы не полагаться на чужие - Исключать лишние зависимости 44
Спасибо 45
[email protected]