news
Serverspace в «Рейтинге провайдеров IaaS Enterprise 2023» от Market.CNews
БС
4 декабря 2022
Обновлено 24 июля 2023

Как установить Drone на Linux Ubuntu 20.04

Linux Ubuntu VPS

Введение

CI/CD — реагирование на определенные запросы или триггеры при работе с контейнерами, или любым другом проектом, т.е. выполняет роль уведомления об изменениях в проекте.

Упрощение работы с нотификацией, хранением результатов, а так же публикацией различных проектов.

Так же у Drone CI есть бесплатный план SaaS (Software as a Service), который доступен для проектов с открытым исходным кодом.

Интегрируется с Github, Bitbucket, Gitea. Конфигурация настраивается благодаря yaml (+ starlark и jsconnet).

Он не требует много ресурсов для его работоспособности, что позволяет сэкономить на оборудовании и начать работать с Dorne даже на слабых устройствах.

Для его работы необходимо предварительно установить Docker, в нашем случае мы будем использовать предустановленную версию Docker.

Чтобы установить Docker, воспользуйтесь нашей инструкцией или создайте сервер в Serverspace с уже установленным приложением.

Необходимые зависимости для Drone

  • Аккаунт на сервисе GitHub;
  • Для работоспособности Drone вам нужен собственный домен или открытый ip адрес;
  • Так же на сервере должно быть 11 гигабайтов свободного места и 2 гигабайта оперативной памяти для работоспособности контейнеров.

Предварительная настройка сервера

Переходим в настройки аккаунта GitHub и создаем в нем доступ для делегирования нашего сервера к GitHub.

Предварительная настройка сервера

Используя этот пример, создайте своё OAuth приложение, предварительно измените домен на ваш собственный поддомен “drone.****”.

Если у вас нету собственного домена, тогда вы можете использовать ip адрес вашего сервера заменив домен «http://yourip» во вкладке homepage URL, а так же заменив «Authorization callback URL» на «http://yourip/login».

Зайдите в созданное приложение, скопируйте свой client id, а так же создайте ключ авторизации, эти данные потребуются при настройке сервера.

Создание ключа авторизации

Настройка сервера

Создайте RPC ключ сервера.

openssl rand -hex 16

Создание RPC ключа сервера

Создайте и настройте конфиг Drone.

nano /etc/drone

Конфигурация Drone

DRONE_SERVER_HOST=drone.steammmmm.space
#Host of your subdomain
DRONE_SERVER_PROTO=http
#what type of connection you will use
DRONE_GITHUB_CLIENT_ID=id_from_git_OAuth
#Client id from github
DRONE_GITHUB_CLIENT_SECRET=secret_from_github
#Secret from github
DRONE_RPC_SECRET=secret_from_server
#rpc password that we created on server
DRONE_USER_CREATE=username:barikasss,admin:true
#Username of your profile github

Это не весь список доступных настроек файла конфигурации, если у вас возникли вопросы то вы можете обратиться напрямую на страницу разработчика где размещена документация для файла конфигурации.

Установка и запуск Drone

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

docker pull drone/drone:1

Последняя версия Drone

Создайте базу данных для Drone.

docker volume create drone-base

Создание базы данных для Drone

Запустите Drone.

docker run --name=dronegit --detach --restart=always --env-file=/etc/drone --volume=drone-base --publish=80:80 --publish=443:443 drone/drone:1

Запуск Drone

Проверка

Перейдите по адресу drone.yourdomain.***, вы увидите окно авторизации github.

Авторизация на GitHub

После авторизации у вас откроется интерфейс drone.

Интерфейс Drone

Вывод

На рынке CI и CD очень много продуктов которые позволяют использовать их на бесплатной основе, но у каждого есть свои ограничения для использования их в коммерческих целях.

Подводя итоги, в этой публикации мы разобрали установку Drone CI на операционную систему Linux Ubuntu 20.04

Drone CI это:

  • бесплатный план SaaS, который доступен только для opensource проектов;
  • цена SaaS доступна только enterprise;
  • интеграция возможна с Github, Bitbucket, Gitea;
  • конфигурация Yaml (+starlark, jsconnect);
  • минималистичен;
  • не требует много ресурсов для работы.
Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...