Установка Docker
Шаг 1:
# Добавить официальный ключ GPG docker sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Добавить репозиторий в источники Apt: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
Шаг 2:
# Установка пакетов Docker sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Шаг 3:
# Проверка, что установка прошла успешно sudo docker run hello-world
Установка и настройка Selenoid
Шаг 1:
Создать папку (Например, selenoid) для хранения необходимых файлов для Selenoid.
mkdir selenoid
Шаг 2:
Загрузить последнюю версию двоичного файла со страницы и поместить его в созданную папку.
Шаг 3:
Открыть консоль, перейти в созданную папку
# Например: cd /home/user/selenoid
Выдать права на запуск файла:
# cm - нужно указать полное имя двоичного файла, который был загружен $ chmod +x cm
Шаг 4:
В созданной папке, создать файл с названием “docker-compose.yml”:
nano docker-compose.yml
Шаг 5:
В созданной папке создать ещё одну папку config
Шаг 6:
Добавить основные настройки в yml-файл:
services: selenoid: image: "aerokube/selenoid" network_mode: bridge ports: - "4444:4444" # Порт до двоеточия, это порт на котором и будет запускаться контейнер volumes: - "/home/user/selenoid/config:/etc/selenoid/" # Путь указанный до двоеточия, это путь к папке где будет храниться файл browsers.json с настройками браузера - "var/run/docker.sock:/var/run/docker.sock" selenoid-ui: image: "aerokube/selenoid-ui" network_mode: bridge links: - selenoid ports: - "4445:8080" # Порт до двоеточия, это порт на котором будет информация о сессиях selenoid command: ["--selenoid-uri", "http://selenoid:4444"]
Шаг 7:
В папке config создать файл browsers.json с описанием браузеров, на котором будут прогоняться тесты:
{ "chrome":{ "default":"122.0", "versions":{ "122.0":{ "image":"selenoid/chrome:122.0", "port":"4444", "path":"/", "tmpfrs":{ "/tmp":"size=128m" } } } } }
Шаг 8:
Для запуска selenoid и selenoid-ui необходимо выполнить команду запуска либо с указанием пути к docker-compose.yml файлу, либо перейти в папку с этим файлом, и выполнить:
docker compose up
Для завершения работы:
docker compose down
Шаг 9:
Можно перейти по адресу http://localhost:4444 - должно отобразиться подобное сообщение:
You are using Selenoid 2538009240b3c5af1f74f83b9b5314081f6fdb27!
А также перейти по адресу http://localhost:4445 - должна отображаться страница selenoid-ui с информацией о текущих сессиях:
Установка JDK и добавление в переменную PATH
Шаг 1:
Установка JDK:
apt install openjdk-17-jdk openjdk-17-jre
Шаг 2:
Поместить JDK в переменную PATH:
# Открыть файл .bashrc nano ~/.bashrc # Указать путь к java с использованием синтаксиса export в конце файла # Например: export PATH=$PATH:/usr/java/openjdk-17/bin
Шаг 3:
Сохранить изменения:
Нажать: Ctrl + X После отображения сообщения о сохранении внесенных изменений нажать: Y
Установка Maven и добавление в переменную PATH
-
Установите Maven из репозитория Ubuntu:
Откройте терминал и выполните следующие команды:
sudo apt update sudo apt install maven
-
Проверьте установку:
После установки Maven вы можете проверить, что он установлен правильно, выполнив команду:
mvn -version
Это должно вывести информацию о версии Maven и Java, если Maven был успешно установлен.
-
Настройте переменные окружения (опционально):
В большинстве случаев Maven будет добавлен в ваш путь автоматически при установке из официальных репозиториев Ubuntu. Однако, если это не произошло, вы можете добавить путь к Maven в ваш путь, отредактировав файл ~/.bashrc (или ~/.bash_profile, в зависимости от вашего профиля):
export PATH=/usr/share/maven/bin:$PATH
Затем примените изменения с помощью команды:
source ~/.bashrc
Установка Jenkins
Шаг 1:
Установить Jenkins:
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null sudo apt-get update sudo apt-get install jenkins
Шаг 2:
Изменить порт для запуска в файле jenkins.service:
sudo nano /lib/systemd/system/jenkins.service
В строке:
Environment="JENKINS_PORT=8080"
Изменить порт 8080 на (например) 4446 и сохранить изменения.
Шаг 3:
Установить автозапуск Jenkins при загрузке системы:
sudo systemctl enable jenkins
Шаг 4:
Запустить Jenkins сервис:
sudo systemctl start jenkins
Шаг 5:
Проверить состояние Jenkins сервиса:
sudo systemctl status jenkins
Примерный вывод:
Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2024-03-20 10:27:01 +03; 4min 57s ago
Шаг 6:
Из вывода журнала консоли Jenkins скопировать сгенерированный буквенно-цифровой пароль (между двумя наборами звездочек).
Шаг 7:
Активация Jenkins:
Перейти по адресу - http://localhost:порт(4446) И на странице Unlock Jenkins ввести скопированный код.
Шаг 8:
Далее будет открыта страница с установкой плагинов. Можно установить все рекомендованные, либо выбрать вручную необходимые плагины.
Шаг 9:
После установки плагинов, будет отображена страница Create First Admin User, на которой необходимо создать аккаунт админа, сохранить и нажать Start using Jenkins.
Создание Pipeline для ручного запуска тестов через Jenkins
Шаг 1:
Так, как на проекте используются сборщик Maven и фреймворк Allure, необходимо установить соответствующие плагины в Jenkins.
Для этого необходимо перейти в Manage Jenkins → Plugins и в Available plugins установить Allure Jenkins Plugin и Maven Integration Plugin.
Шаг 2:
Перейти в Manage Jenkins → Tools, и в Allure Commandline указать имя и версию Allure в соответствии с тем, который используется на проекте (2.25.0).
Шаг 3:
Перейти в Manage Jenkins → Tools, и в Maven installations указать имя, путь к maven на машине (например, путь к maven можно узнать выполнив команду maven -version на локальной машине).
Шаг 4:
- Добавить Git креды в Jenkins:
- Перейти в Manage Jenkins → Credentials
- В разделе Stores scoped to Jenkins в колонке Domains нажать global, и на открывшейся странице Add credentials
- Указать юзернейм и пароль от аккаунта Git, после чего будет сгенерирован id, который будет использоваться для доступа к репозиторию.
Шаг 5:
Создание Pipeline:
- Перейти в + New Item, выбрать Pipeline и ввести название
- В дропдауне Pipeline → Definition выбрать опцию Pipeline script
-
В поле Script указать скрипт для билда:
pipeline { agent any tools { maven 'maven' // в кавычках название сборщика maven, которые вы дали ему при его установке в Tools } stages { stage('Checkout') { steps { git credentialsId: 'id ваших кред', url: 'https://адрес вашего репозитория' // id кред из шага 4 данного документа } } stage('Build') { steps { sh 'mvn clean' // этап очистки проекта от файлов, которые генерируются после прогона тестов } } stage('Test') { steps { sh 'mvn test' // этап запуска тестов } } } post { success { echo 'Pipeline executed successfully!' allure([ includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: 'target/allure-results']] ]) } failure { echo 'Pipeline failed!' allure([ includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: 'target/allure-results']] ]) } } }