Skip to content

bosone87/09-ci-03-cicd

Repository files navigation

Домашнее задание к занятию 9 «Процессы CI/CD»

Подготовка к выполнению

  1. Создайте два VM в Yandex Cloud с параметрами: 2CPU 4RAM Centos7 (остальное по минимальным требованиям).
  2. Пропишите в inventory playbook созданные хосты.

VM в Yandex Cloud разворачиваются по средствам terraform, создаётся динамический hosts-файл:

  1. Добавьте в files файл со своим публичным ключом (id_rsa.pub). Если ключ называется иначе — найдите таску в плейбуке, которая использует id_rsa.pub имя, и исправьте на своё.
  2. Запустите playbook, ожидайте успешного завершения.
  3. Проверьте готовность SonarQube через браузер.
  4. Зайдите под admin\admin, поменяйте пароль на свой.

  1. Проверьте готовность Nexus через бразуер.
  2. Подключитесь под admin\admin123, поменяйте пароль, сохраните анонимный доступ.

Знакомоство с SonarQube

Основная часть

  1. Создайте новый проект, название произвольное.
  2. Скачайте пакет sonar-scanner, который вам предлагает скачать SonarQube.
  3. Сделайте так, чтобы binary был доступен через вызов в shell (или поменяйте переменную PATH, или любой другой, удобный вам способ).
  4. Проверьте sonar-scanner --version.

  1. Запустите анализатор против кода из директории example с дополнительным ключом -Dsonar.coverage.exclusions=fail.py.

  1. Посмотрите результат в интерфейсе.

  1. Исправьте ошибки, которые он выявил, включая 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))
  1. Запустите анализатор повторно — проверьте, что QG пройдены успешно.
  2. Сделайте скриншот успешного прохождения анализа, приложите к решению ДЗ.

Знакомство с Nexus

Основная часть

  1. В репозиторий maven-public загрузите артефакт с GAV-параметрами:
  • groupId: netology;
  • artifactId: java;
  • version: 8_282;
  • classifier: distrib;
  • type: tar.gz.

  1. В него же загрузите такой же артефакт, но с version: 8_102.
  2. Проверьте, что все файлы загрузились успешно.

  1. В ответе пришлите файл maven-metadata.xml для этого артефекта.
    maven-metadata.xml

Знакомство с Maven

Подготовка к выполнению

  1. Скачайте дистрибутив с maven.
  2. Разархивируйте, сделайте так, чтобы binary был доступен через вызов в shell (или поменяйте переменную PATH, или любой другой, удобный вам способ).
  3. Удалите из apache-maven-<version>/conf/settings.xml упоминание о правиле, отвергающем HTTP- соединение — раздел mirrors —> id: my-repository-http-unblocker.
  4. Проверьте mvn --version.

  1. Заберите директорию mvn с pom.

Основная часть

  1. Поменяйте в pom.xml блок с зависимостями под ваш артефакт из первого пункта задания для Nexus (java с версией 8_282).
  2. Запустите команду mvn package в директории с pom.xml, ожидайте успешного окончания.

  1. Проверьте директорию ~/.m2/repository/, найдите ваш артефакт.

  1. В ответе пришлите исправленный файл pom.xml.
    pom.xml

Как оформить решение задания

Выполненное домашнее задание пришлите в виде ссылки на .md-файл в вашем репозитории.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published