Я построил Служба хостинга GIT под названием Hosted Gitea и обнаружил, что автоматизированное развертывание коробок VPS на цифровом океане очень просто. Вот как я заработал это.
Когда клиент подписывает цепочку событий в движении:
- Их детали хранятся.
- Заводясь фоновая задача.
- Используйте Digital Ocean API Чтобы создать свежую коробку Ubuntu VPS.
- Используйте Gandi DNS API Чтобы указать доменное имя на коробке.
- Запустить немного Ansible Сценарии предоставить Gitea на новой коробке.
Часть API Digital Ocean состоит из нескольких вызовов функций с использованием Python-цифроцеса :
from digitalocean import Droplet, Manager # get our DO API token from an environment variable token = environ.get("DIGITALOCEAN_ACCESS_TOKEN") or exit("DIGITALOCEAN_ACCESS_TOKEN is not set.") manager = Manager(token=token) ssh_keys = manager.get_all_sshkeys() droplet = Droplet(token=token, ssh_keys=ssh_keys ... etc.) droplet.create() # then you can wait for the droplet to be created: actions = droplet.get_actions() for action in actions: if action.type == "create": while action.status != "completed": sleep(2) print("Waiting for box to deploy.")
Это так же просто, чтобы запустить новую коробку VPS и подождать, пока она появится в Интернете. После этого шага есть несколько других вещей, которые случаются, как отправляются электронные письма, сценарии Ansible для настройки Gitea и т. Д. Но часть принесения новой коробки онлайн сделана.
Фотография Тодд Крейвенс на Unsplash.
Оригинал: “https://dev.to/chr15m/digital-ocean-deployment-automation-is-simple-5be0”