- Создайте два VM в Yandex Cloud с параметрами: 2CPU 4RAM Centos7 (остальное по минимальным требованиям).
- Пропишите в inventory playbook созданные хосты.
VM в Yandex Cloud разворачиваются по средствам terraform, создаётся динамический hosts-файл:
- Добавьте в files файл со своим публичным ключом (id_rsa.pub). Если ключ называется иначе — найдите таску в плейбуке, которая использует id_rsa.pub имя, и исправьте на своё.
- Запустите playbook, ожидайте успешного завершения.
- Проверьте готовность SonarQube через браузер.
- Зайдите под admin\admin, поменяйте пароль на свой.
- Проверьте готовность Nexus через бразуер.
- Подключитесь под admin\admin123, поменяйте пароль, сохраните анонимный доступ.
- Создайте новый проект, название произвольное.
- Скачайте пакет sonar-scanner, который вам предлагает скачать SonarQube.
- Сделайте так, чтобы binary был доступен через вызов в shell (или поменяйте переменную PATH, или любой другой, удобный вам способ).
- Проверьте
sonar-scanner --version
.
- Запустите анализатор против кода из директории example с дополнительным ключом
-Dsonar.coverage.exclusions=fail.py
.
- Посмотрите результат в интерфейсе.
- Исправьте ошибки, которые он выявил, включая warnings.
def increment(index = 0):
index += 1
return index
def get_square(numb):
return numb*numb
def print_numb(numb):
print("Number is {}".format(numb))
index = 0
while (index < 10):
index = increment(index)
print(get_square(index))
- Запустите анализатор повторно — проверьте, что QG пройдены успешно.
- Сделайте скриншот успешного прохождения анализа, приложите к решению ДЗ.
- В репозиторий
maven-public
загрузите артефакт с GAV-параметрами:
- groupId: netology;
- artifactId: java;
- version: 8_282;
- classifier: distrib;
- type: tar.gz.
- В него же загрузите такой же артефакт, но с version: 8_102.
- Проверьте, что все файлы загрузились успешно.
- В ответе пришлите файл
maven-metadata.xml
для этого артефекта.
maven-metadata.xml
- Скачайте дистрибутив с maven.
- Разархивируйте, сделайте так, чтобы binary был доступен через вызов в shell (или поменяйте переменную PATH, или любой другой, удобный вам способ).
- Удалите из
apache-maven-<version>/conf/settings.xml
упоминание о правиле, отвергающем HTTP- соединение — раздел mirrors —> id: my-repository-http-unblocker. - Проверьте
mvn --version
.
- Заберите директорию mvn с pom.
- Поменяйте в
pom.xml
блок с зависимостями под ваш артефакт из первого пункта задания для Nexus (java с версией 8_282). - Запустите команду
mvn package
в директории сpom.xml
, ожидайте успешного окончания.
- Проверьте директорию
~/.m2/repository/
, найдите ваш артефакт.
- В ответе пришлите исправленный файл
pom.xml
.
pom.xml
Выполненное домашнее задание пришлите в виде ссылки на .md-файл в вашем репозитории.