CI/CD - Response to specific requests or triggers when working with containers,
or any other project, that is, acts as a notification of changes in the project.
Simplifies the work with notification, storing results, as well as publishing various projects.
Drone CI also has a free SaaS (software as a service) plan that is available for open source projects.
Integrates with Github, Bitbucket, Gitea. Configuration is customizable thanks to yaml (+ starlark and jsconnet).
It doesn't require a lot of resources to make it work, which saves on hardware and gets you started with Dorne even on weak devices.
It requires Docker to be pre-installed, in my publication i will able to use pre-installed version of Docker.
Required dependencies for deploy
- A github account.
- You need your own domain or an open IP address for Drone to work.
- The server must also have 11 gigabytes of free space, and 2 gigabytes of RAM to keep the containers running.
Preliminary configuration of machine
Visit page of account settings, and create access there to delegate our machine for github.
Generate your own OAuth application by first changing domain-name to subdomain "drone.****".
You can use your own ip address of your server by replacing the domain
"http://yourip" in the homepage URL tab to "http://yourip/login".
Copy your client id, as well as create an authorization key, its will be needed later.
Create RPC server key.
openssl rand -hex 16
Create and configure the local config.
#Host of your subdomain
#what type of connection you will use
#Client id from github
#Secret from github
#rpc password that we created on server
#Username of your profile github
The full list of available configuration file options is located on the developer page.
Setup the latest version of software.
docker pull drone/drone:1
Create a database for application.
docker volume create drone-base
docker run --name=dronegit --detach --restart=always --env-file=/etc/drone --volume=drone-base --publish=80:80 --publish=443:443 drone/drone:1
Go to your ip-address that you specified in your profile, you will see the authorization window on github.
After authorization , you will ascertain the drone interface.
There are a lot of CI and CD products on the market that allow take them for free,
but each has its own limitations for commercial use.
Drone CI :
- A free SaaS plan that is only available for opensource projects.
- Priced SaaS available only for enterprise
- Integration is possible with Github, Bitbucket, Gitea
- Yaml configuration (+starlark, jsconnect)
- Requires few resources to run