23.06.2025

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

openssl rand -hex 16

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

nano /etc/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.

docker volume create drone-base

Запустите 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.yourdomain.***, вы увидите окно авторизации github.

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

Вывод

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

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

Drone CI это: