diff --git a/dev/drone/Dockerfile b/dev/drone/Dockerfile new file mode 100644 index 0000000..4ee0512 --- /dev/null +++ b/dev/drone/Dockerfile @@ -0,0 +1,10 @@ +FROM flitter/init + +RUN wget -O /tmp/drone.deb http://downloads.drone.io/master/drone.deb && \ + dpkg -i /tmp/drone.deb && \ + apt-get -f install # Sun Oct 26 10:23:45 PDT 2014 + +ADD drone /etc/service/drone/run +CMD /sbin/my_init + +EXPOSE 8000 diff --git a/dev/drone/drone b/dev/drone/drone new file mode 100755 index 0000000..59a5760 --- /dev/null +++ b/dev/drone/drone @@ -0,0 +1,16 @@ +#!/bin/sh + +export DRONE_DATABASE_DRIVER="postgres" +export DRONE_DATABASE_DATASOURCE="host=$DB_PORT_5432_TCP_ADDR user=postgres dbname=drone sslmode=disable" +export DRONE_SERVER_PORT=:8080 + +if [ -z "$DOCKER_HOST" ]; then + echo "No docker host" + exit 1 +else + export DRONE_WORKER_NODES=$DOCKER_HOST +fi + +echo 'Everything is okay. Starting up drone!' + +droned diff --git a/dev/drone/drone-db-fix.service b/dev/drone/drone-db-fix.service new file mode 100644 index 0000000..1e290e3 --- /dev/null +++ b/dev/drone/drone-db-fix.service @@ -0,0 +1,16 @@ +[Unit] +Description=Drone.io continunous integration and delivery +After=docker.service +After=drone-db.service +Requires=docker.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/docker run --rm --link drone-db:pg xena/drone-fixdb +ExecStop=/usr/bin/fleetctl destroy drone-db-fix.service + +[Install] +WantedBy=multi-user.target + +[X-Fleet] +MachineOf=drone-db.service diff --git a/dev/drone/drone-db.service b/dev/drone/drone-db.service new file mode 100644 index 0000000..9673e9e --- /dev/null +++ b/dev/drone/drone-db.service @@ -0,0 +1,14 @@ +[Unit] +Description=Drone.io continunous integration and delivery database +After=docker.service +Requires=docker.service + +[Service] +TimeoutStartSec=0 +ExecStartPre=-/usr/bin/docker kill dronedb +ExecStartPre=/usr/bin/docker pull postgres +ExecStart=/usr/bin/docker run --name drone-db postgres +ExecStop=/usr/bin/docker kill drone + +[Install] +WantedBy=multi-user.target diff --git a/dev/drone/drone.service b/dev/drone/drone.service new file mode 100644 index 0000000..c39afa4 --- /dev/null +++ b/dev/drone/drone.service @@ -0,0 +1,22 @@ +[Unit] +Description=Drone.io continunous integration and delivery +After=docker.service +After=drone-db.service +After=drone-db-fix.service +Requires=docker.service + +# You need to edit this for your github/gitlab api keys + +[Service] +TimeoutStartSec=0 +ExecStartPre=-/usr/bin/docker kill drone +ExecStartPre=-/usr/bin/docker rm drone +ExecStartPre=/usr/bin/docker pull xena/drone +ExecStart=/usr/bin/docker run --name drone --link drone-db:db --hostname drone -v /var/run/docker.sock:/docker.sock -e DOCKER_HOST="unix:///docker.sock" -P xena/drone +ExecStop=/usr/bin/docker rm -f drone + +[Install] +WantedBy=multi-user.target + +[X-Fleet] +MachineOf=drone-db.service diff --git a/dev/drone/fixdb/Dockerfile b/dev/drone/fixdb/Dockerfile new file mode 100644 index 0000000..6bdeefe --- /dev/null +++ b/dev/drone/fixdb/Dockerfile @@ -0,0 +1,5 @@ +FROM postgres + +ADD fixdb.sh / + +CMD /fixdb.sh diff --git a/dev/drone/fixdb/fixdb.sh b/dev/drone/fixdb/fixdb.sh new file mode 100755 index 0000000..7756051 --- /dev/null +++ b/dev/drone/fixdb/fixdb.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +psql -h $PG_PORT_5432_TCP_ADDR -p $PG_PORT_5432_TCP_PORT -U postgres -c "CREATE DATABASE drone;"