Начало работы: Установка Jenkins на виртуальную машину Azure Linux

В этой статье показано, как установить Jenkins на виртуальную машину Ubuntu Linux с инструментами и подключаемыми модулями, настроенными для работы с Azure.

В этой статье вы узнаете, как выполнять следующие задачи.

  • Создание файла установки, который скачивает и устанавливает Jenkins
  • Создание или изменение группы ресурсов
  • Создание виртуальной машины с файлом установки
  • Откройте порт 8080, чтобы получить доступ к Jenkins на виртуальной машине.
  • Подключение к виртуальной машине через SSH
  • Настройка примера задания Jenkins на основе примера приложения Java в GitHub
  • Построение примера задания Jenkins

1. Настройка среды

2. Открытие Cloud Shell

  1. Если у вас уже открыт сеанс Cloud Shell, вы можете перейти к следующему разделу.

  2. Откройте портал Azure в браузере.

  3. При необходимости войдите в подписку Azure и измените каталог Azure.

  4. Откройте Cloud Shell.

    Open Cloud Shell from the top menu in the Azure portal.

  5. Если вы ранее не использовали Cloud Shell, настройте параметры среды и хранилища.

  6. Выберите среду командной строки.

    Select the CLI you want to use in Cloud Shell.

3. Создание виртуальной машины

  1. Создайте тестовый каталог с именем jenkins-get-started.

  2. Перейдите в тестовый каталог.

  3. Создайте файл с именем cloud-init-jenkins.txt.

  4. Скопируйте приведенный ниже код и вставьте его в новый файл:

    #cloud-config
    package_upgrade: true
    runcmd:
      - sudo apt install openjdk-11-jre -y
      - curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
      -  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 -y
      - sudo service jenkins restart
    
    
    
  5. Запустите az group create, чтобы создать группу ресурсов.

    az group create --name jenkins-get-started-rg --location eastus
    
  6. Запустите az vm create, чтобы создать виртуальную машину.

    az vm create \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm \
    --image UbuntuLTS \
    --admin-username "azureuser" \
    --generate-ssh-keys \
    --public-ip-sku Standard \
    --custom-data cloud-init-jenkins.txt
    
  7. Запустите az vm list, чтобы проверить создание (и состояние) новой виртуальной машины.

    az vm list -d -o table --query "[?name=='jenkins-get-started-vm']"
    
  8. Поскольку Jenkins работает на порту 8080, запустите az vm open, чтобы открыть порт 8080 на новой виртуальной машине.

    az vm open-port \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm  \
    --port 8080 --priority 1010
    

4. Настройка Jenkins

  1. Запустите az vm show, чтобы получить общедоступный IP-адрес для образца виртуальной машины.

    az vm show \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm -d \
    --query [publicIps] \
    --output tsv
    

    Основные моменты:

    • Параметр --query ограничивает выходные данные к общедоступным IP-адресам виртуальной машины.
  2. Используйте IP-адрес, полученный на предыдущем шаге, для подключения к виртуальной машине по протоколу SSH. Необходимо подтвердить запрос на подключение.

    ssh azureuser@<ip_address>
    

    Основные моменты:

    • После успешного подключения в запросе Cloud Shell содержится имя пользователя и имя виртуальной машины: azureuser@jenkins-get-started-vm.
  3. Убедитесь, что Jenkins выполняется и получает состояние от службы Jenkins.

    service jenkins status
    

    Основные моменты:

    • Если вы получаете сообщение об ошибке, касающейся того, что служба не существует, вам, возможно, придется подождать пару минут, чтобы все было установлено и инициализировано.
  4. Получите автоматически сформированный пароль Jenkins.

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    
  5. Используя IP-адрес, откройте следующий URL-адрес в браузере: http://<ip_address>:8080

  6. Введите ранее полученный пароль и выберите Продолжить.

    Initial page to unlock Jenkins

  7. Щелкните Select plugins to install (Выбрать подключаемые модули для установки).

    Select the option to install selected plug-ins

  8. В поле фильтра в верхней части страницы введите github. Выберите подключаемый модуль GitHub, а затем — Установить.

    Install the GitHub plug-ins

  9. Введите сведения для первого администратора и выберите Сохранить и продолжить.

    Enter information for first admin user

  10. На странице Конфигурация экземпляра выберите Сохранить и завершить.

    Confirmation page for instance configuration

  11. Выберите Start using Jenkins (Начать работу с Jenkins).

    Jenkins is ready!

5. Создайте свое первое задание

  1. На домашней странице Jenkins выберите Create a job (Создание задания).

    Jenkins console home page

  2. Введите имя задания mySampleApp, выберите Freestyle project (Универсальный проект) и нажмите кнопку ОК.

    New job creation

  3. Откройте вкладку Source Code Management (Управление исходным кодом). Включите Git и введите следующий URL-адрес для значения Repository URL (URL-адрес репозитория): https://github.com/spring-guides/gs-spring-boot.git. Затем измените параметр Branch Specifier (Описатель ветви) на */main.

    Define the Git repo

  4. Выберите вкладку Build (Создание), нажмите Add build step (Добавление шага сборки).

    Add a new build step

  5. Из раскрывающегося меню выберите Invoke Gradle script (Вызов сценария Gradle).

    Select the Gradle script option

  6. Выберите Use Gradle Wrapper (Использовать программу-оболочку Gradle), затем введите значение complete для параметра Wrapper location (Расположение программы-оболочки) и build для параметра Задачи.

    Gradle script options

  7. Выберите Advanced (Дополнительно) и введите complete в поле Root Build script (Корневой скрипт сборки).

    Advanced Gradle script options

  8. Прокрутите к нижней части страницы и выберите Сохранить.

6. Сборка примера приложения Java

  1. Когда откроется домашняя страница проекта, выберите Build Now (Собрать сейчас), чтобы скомпилировать код и создать пакет для примера приложения.

    Project home page

  2. Графическое изображение под заголовком Build History (История сборки) указывает на процесс сборки задания.

    Job-build in progress

  3. По завершении сборки выберите ссылку Workspace (Рабочая область).

    Select the workspace link.

  4. Перейдите к complete/build/libs, чтобы увидеть, что файл .jar был успешно построен.

    The target library verifies the build succeeded.

  5. Теперь сервер Jenkins готов к сборке ваших собственных проектов в Azure.

Устранение неполадок

Если у вас возникли проблемы с настройкой Jenkins, перейдите на страницу установки Jenkins, чтобы получить последние инструкции и ознакомиться с известными проблемами.

Следующие шаги