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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
AI駆動開発を事業のコアに置く
tasukuonizawa
1
270
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
190
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
180
Agent Skils
dip_tech
PRO
0
120
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
820
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
Context Engineeringの取り組み
nutslove
0
360
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
120
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Why Our Code Smells
bkeepers
PRO
340
58k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
180
My Coaching Mixtape
mlcsv
0
48
A Soul's Torment
seathinner
5
2.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Become a Pro
speakerdeck
PRO
31
5.8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
4 Signs Your Business is Dying
shpigford
187
22k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
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]