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
67
Хелло, докер ворлд!
Поговорили о том, как поднять CI на локальной машине. И в чем польза для мобильного разработчика
Alexander
November 09, 2018
Tweet
Share
More Decks by Alexander
See All by Alexander
Во все тяжкие мобильных релизов
garf1eld
0
34
GraphQL: плюсы и минусы
garf1eld
0
500
Other Decks in Technology
See All in Technology
モブプログラミング再入門 ー 基本から見直す、AI時代のチーム開発の選択肢 ー / A Re-introduction of Mob Programming
takaking22
5
1.6k
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
260
Kubernetesにおける推論基盤
ry
1
390
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
220
Claude Code のコード品質がばらつくので AI に品質保証させる仕組みを作った話 / A story about building a mechanism to have AI ensure quality, because the code quality from Claude Code was inconsistent
nrslib
13
8.2k
OCHaCafe S11 #2 コンテナ時代の次の一手:Wasm 最前線
oracle4engineer
PRO
2
130
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
120
アーキテクチャモダナイゼーションを実現する組織
satohjohn
2
940
進化するBits AI SREと私と組織
nulabinc
PRO
0
190
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
530
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
190
AI駆動AI普及活動 ~ 社内AI活用の「何から始めれば?」をAIで突破する
oracle4engineer
PRO
1
100
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
Git: the NoSQL Database
bkeepers
PRO
432
66k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Chasing Engaging Ingredients in Design
codingconduct
0
140
Building AI with AI
inesmontani
PRO
1
800
Bash Introduction
62gerente
615
210k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
How STYLIGHT went responsive
nonsquared
100
6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Raft: Consensus for Rubyists
vanstee
141
7.4k
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]