Введение
Это небольшое руководство о том, как запустить TeamCity на контейнере Docker. TeamCity — это инструмент CI/CD, опубликованный Jetbrains. Он в основном помогает обеспечить программное обеспечение с высоким качеством быстрее и проще. Разработчики могут указывать сборки, запустить сборки и просмотреть результаты, которые будут введены позже в этом руководстве. Бег TeamCity на Docker позволит нам использовать TeamCity без локальной установки, независимо от операционных систем.
Этот учебник включает в себя, как запустить Docker изображения сервера TeamCity и агента TeamCity, как их подключить и как построить проект, использующий TeamCity на Docker Images.
Этот учебник может потребоваться около 15-20 минут, потому что нам нужно время, чтобы вытащить изображения из репозитория Docker Hub.
Вот отличный Бесплатный онлайн-инструмент Что позволяет запускать это учебное пособие чисто на веб-браузере: Play-S-Docker 😆. Вам нужно Регистрация Для этого инструмента, а затем вы можете использовать это, чтобы начать этот учебник.
Шаг 1️⃣: Запустите сервер TeamCity в контейнере Docker
После открытия Play-S-Docker , вы можете нажать на + Добавить новый экземпляр
Чтобы запустить терминал в новом узле.
Вот как выглядит терминал в Play-S-Docker Отказ
Для подготовки, создания папок по этим командам:
mkdir -p teamcity mkdir teamcity/data mkdir teamcity/logs mkdir teamcity/agent
Первое, что настроить сервер TeamCity. Нам нужно потянуть изображение сервера из репозитория Docker Hub. Это может потребоваться несколько минут.
docker pull jetbrains/teamcity-server
Мы можем просмотреть изображения на машине, используя эту команду:
docker images
Сервер TeamCity должен быть перечислен.
Теперь мы можем запустить эту команду, чтобы запустить контейнер докеров с сервером TeamCity.
docker run -it -d --name server -u root -v /teamcity/data:/data/teamcity_server/datadir -v /teamcity/logs:/opt/teamcity/logs -p 8111:8111 jetbrains/teamcity-server
Вот объяснения команды:
-d
: Бежать на заднем плане. Мы добавляем это, потому что мы хотим использовать только один терминал в PLAY-DOCKER. Когда вы используете свой локальный компьютер, вы можете удалить это. В этом случае вам нужны два клемма. Один дополнительный терминал для агента, который будет введен позже.--name Server.
: Мы называем этот контейнер «сервер».-U root
: Чтобы запустить команду под пользователя «root». Это можно удалить в локальной машине при входе в систему в качестве пользователя root.-V/Teamcity/Data:/data/teamcity_server/datadir
: Мы связаны/папка Teamcity/Data в нашей машине с каталогом данных TeamCity. Когда вы выполняете команду на собственной машине, пожалуйста, создайте или укажите свою собственную папку.-V/Teamcity/logs:/opt/teamcity/logs
: Мы связали/Teamcity/Logs в нашей машине с журналами Teamcity. Когда вы выполняете команду на собственной машине, пожалуйста, создайте или укажите свою собственную папку.-P 8111: 8111
: Это карта порта между нашей машиной и контейнером. Вы можете использовать эту команду как-P
И укажите свой собственный порт Perferred на вашем локальном компьютере.: 8111 Jetbrains/TeamCity-Server
: Это имя изображения.
Это может также понадобиться несколько минут. После выполнения команды мы можем открыть порт 8111, чтобы увидеть страницу TeamCity. В Play-S-Docker нажмите Открытый порт
и введите 8111 в всплывающем окне.
В вашей местной машине вы можете открыть браузер и доступ к localhost:
чтобы увидеть страницу.
Мы можем использовать эту команду, чтобы увидеть бегущий контейнер докера.
docker ps
Шаг 2️⃣: Создайте проект и строить шаги в TeamCity
После инициализации мы нажимаем на продолжение, чтобы начать TeamCity впервые.
Мы сохраняем тип базы данных как по умолчанию.
Это также может потребоваться несколько минут, чтобы инициализировать TeamCity. Затем мы принимаем лицензионное соглашение и продолжайте создавать учетную запись администратора. Для этого учебника мы вводим имя Админ
и пароль админ
.
Теперь мы можем добавить проект и создавать построить шаги для него. Нажав на Создать проект
Кнопка на главной странице мы можем добавить проект.
В этом руководстве мы хотим использовать TeamCity для автоматического компиляции файла Java при создании проекта. Поэтому мы создаем проект из репозитория URL. Я использую программу Java Hello World из Мой репозиторий GitHub Отказ Поскольку это публичный репозиторий, имя пользователя и пароль можно оставить пустым. Мы просто продолжаем.
На следующей странице мы называем конфигурацию как Компилировать Java-файл
Отказ
Мы хотим Teamcity автоматически компилировать Helloworld.java
Для нас при строительстве проекта. Следовательно, на следующей странице для настройки шагов сборки мы нажимаем на Настроить шаги сборки вручную
Отказ
Совет: TeamCity может автоматически определять этапы сборки в проекте. Он поддерживает выявлять шаги постройки в Maven, Ridle, Ant, Nant, Msbuild, PowerShell, Xcode, Rakes, Intellij Idex и так далее.
Мы выбираем тип Runner AS Командная строка
Отказ Имя шагов может быть Компилировать
Отказ Пользовательский скрипт может быть javac helloworld.java
.
Совет: Интересно, что мы можем даже создать изображение докера для наших проектов, использующих TeamCity. TeamCity обеспечивает поддержку Docker. Детали здесь Отказ Исследуйте себя, если вы заинтересованы в этом 😝!
Сохраните шаг и переключитесь на Общие настройки
Отказ Установите артефакт путь как ./
Чтобы вывести файл класса в текущий каталог. Давайте сохраним настройку.
Шаг 3️⃣: Запустить агент Teamcity в Docker Consier
После настройки проекта и шага сборки нам нужно создать Агент TeamCity Отказ Агент TeamCity — слушать команды с сервера и запускает фактические процессы сборки. Множественные агенты могут сделать параллельные этапы сборки.
Запустите эту команду, чтобы потянуть минимальное изображение Teamcity:
docker pull jetbrains/teamcity-minimal-agent
Наконечник: Это изображение предоставляет только минимальные услуги агента TeamCity. Этого достаточно для этого небольшого примера. Обычно вы можете использовать JetBrunes/TeamCity-агент
на вашей собственной машине.
Затем мы можем запустить контейнер докеров с агентом TeamCity, который пытается подключиться к серверу TeamCity.
docker run -it -d -e SERVER_URL="http://server:8111" --link server -u root -v /teamcity/agent:/teamcity_agent/conf jetbrains/teamcity-minimal-agent
В этой команде:
-Е
: Установите переменную средыServer_url
Отказ--Линк сервер
: Добавьте ссылку на контейнер, имя которого естьСервер
Отказ-V/Teamcity/Agent:/teamcity_agent/conf
: Укажите путь папки конфигурации агента.Jetbrains/TeamCity-Minimal-агент
: Это имя изображения.
Шаг 4️⃣: Построить проект в Teamcity
Вернуться на веб-страницу TeamCity. Нажмите на Агенты
на вершине.
Это может потребоваться несколько минут, чтобы агент понадобился. Должен быть один агент в несанкционированной категории.
Авторизуйте этот агент. Затем должен быть один подключенный агент со статусом бездействия.
Перейти на страницу проектов, мы можем найти Беги | ...
Кнопка в Helloworld
проект.
Нажмите на ...
в Беги | ...
и выберите агент, который мы только что создали. Нажмите на Беги построить
Отказ
Затем мы можем видеть, что проект начинает создавать шаги, которые мы только что создали.
Шаг 5️⃣: Проверьте вывод
TeamCity требуется несколько секунд для завершения задачи. Когда задача сделана, под Беги | ...
Кнопка, есть Артефакты
связь. Когда мы размещаем мышь на нее, мы можем увидеть список артефактов. Там должен быть файл Helloworld.class
, что означает, что наша программа была выполнена. 😎
Заключение
В этом Tutoiral мы используем Docker для создания сервера TeamCity и агента TeamCity, а также компилируйте программу Java в Teamcity.
Узнайте больше о том, как использовать Teamcity здесь Отказ
Исследуйте себя с разными возможностями и интересные новости здесь Отказ 💥
Спасибо за прочтение! ❤ ️
Оригинал: «https://dev.to/chenzidi/run-teamcity-on-docker-5f8b»