Check out my first novel, midnight's simulacra!

Drone: Difference between revisions

From dankwiki
(Created page with "Drone is a Docker-native CI server. I run one [https://drone.dsscaw.com:4443/ this machine] at port 4443. So far as I've seen, the Drone documentation all steers you via...")
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
* <tt>git clone https://github.com/drone/drone.git</tt>
* <tt>git clone https://github.com/drone/drone.git</tt>
* <tt>go install -tags "oss nolimit" github.com/drone/drone/cmd/drone-server</tt>
* <tt>go install -tags "oss nolimit" github.com/drone/drone/cmd/drone-server</tt>
Dockerfiles to build an Alpine-based image can be found [https://github.com/drone/drone/tree/master/docker here].
==Crypto==
By default, drone will be using <tt>/etc/certs/drone.company.com/server.crt</tt> and <tt>DRONE_TLS_KEY=/etc/certs/drone.company.com/server.key</tt>.
==Datastore==
Drone keeps its data in <tt>/data</tt> within the Docker container, presumably backed by some persistent file outside. This primarily consists of a single large SQLite file (mine ran just about 2GB after 5,000 builds).
===build_trigger===
Drone claims to cut off after 5,000 builds, but my database showed 5,037. Sorting by <tt>build_trigger</tt>, I counted 19 with "dankamongmen", and 18 with no data in this field. Clearing the column in all builds did not bypass the license, however. At that point, I used the splendid [https://sqlitebrowser.org/ SQLitebrowser] to remove the earliest 1,000 builds. Drone now started up without licensing problems.
Better would be to build the OSS binary and copy it into the container, now that I'm pretty sure they use the same schema etc. A naive attempt to do this resulted in drone failing to start with some manner of <tt>ENOENT</tt>.


==See also==
==See also==
* "[https://blog.almeroth.com/ Build & Run: Drone (Open Source Edition)]" by Jon Almeroth, 2020-05-12
* "[https://blog.almeroth.com/ Build & Run: Drone (Open Source Edition)]" by Jon Almeroth, 2020-05-12

Latest revision as of 22:42, 2 September 2022

Drone is a Docker-native CI server. I run one this machine at port 4443.

So far as I've seen, the Drone documentation all steers you via omission towards the "Enterprise" variant of the product (downloaded as a Docker image). I discovered that this Enterprise version had a 5000 build limit the day I hit 5000 builds. At this point, it ceases to process new builds. As this happened 2020-07-04, Independence Day here in America, I promptly declared my independence and prepared an installation of the "OSS" variant.

OSS version

Dockerfiles to build an Alpine-based image can be found here.

Crypto

By default, drone will be using /etc/certs/drone.company.com/server.crt and DRONE_TLS_KEY=/etc/certs/drone.company.com/server.key.

Datastore

Drone keeps its data in /data within the Docker container, presumably backed by some persistent file outside. This primarily consists of a single large SQLite file (mine ran just about 2GB after 5,000 builds).

build_trigger

Drone claims to cut off after 5,000 builds, but my database showed 5,037. Sorting by build_trigger, I counted 19 with "dankamongmen", and 18 with no data in this field. Clearing the column in all builds did not bypass the license, however. At that point, I used the splendid SQLitebrowser to remove the earliest 1,000 builds. Drone now started up without licensing problems.

Better would be to build the OSS binary and copy it into the container, now that I'm pretty sure they use the same schema etc. A naive attempt to do this resulted in drone failing to start with some manner of ENOENT.

See also