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
Alexander
November 09, 2018
Technology
1
63
Хелло, докер ворлд!
Поговорили о том, как поднять CI на локальной машине. И в чем польза для мобильного разработчика
Alexander
November 09, 2018
Tweet
Share
More Decks by Alexander
See All by Alexander
Во все тяжкие мобильных релизов
garf1eld
0
31
GraphQL: плюсы и минусы
garf1eld
0
460
Other Decks in Technology
See All in Technology
AWS CDKの仕組み / how-aws-cdk-works
gotok365
10
890
助けて! XからWaylandに移行しないと新しいGNOMEが使えなくなっちゃう 2025-07-12
nobutomurata
2
140
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
1k
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
820
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
730
話題の MCP と巡る OCI RAG ソリューションの旅 - Select AI with RAG と Generative AI Agents ディープダイブ
oracle4engineer
PRO
5
110
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
1.6k
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
150
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
610
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
170
VGGT: Visual Geometry Grounded Transformer
peisuke
1
620
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
2.1k
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Optimizing for Happiness
mojombo
379
70k
Balancing Empowerment & Direction
lara
1
440
Statistics for Hackers
jakevdp
799
220k
The Pragmatic Product Professional
lauravandoore
35
6.7k
A Tale of Four Properties
chriscoyier
160
23k
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]