diff --git a/dev-util/drone/ChangeLog b/dev-util/drone/ChangeLog new file mode 100644 index 0000000..d673f12 --- /dev/null +++ b/dev-util/drone/ChangeLog @@ -0,0 +1,5 @@ +*drone-1.1.0 (03 May 2019) + + 03 May 2019; +drone-1.1.0.ebuild, + +files/drone-1.1.0.confd, +files/drone-1.1.0.initd, +metadata.xml: + dev-util/drone: Add ebuild for version 1.1.0 diff --git a/dev-util/drone/Manifest b/dev-util/drone/Manifest new file mode 100644 index 0000000..913a85d --- /dev/null +++ b/dev-util/drone/Manifest @@ -0,0 +1,5 @@ +AUX drone-1.1.0.confd 1272 BLAKE2B 9722097b271e1b688559d2fbcd0e91decc03deaf868e91c62fe26c88b4f72806fc0fd628f4b47750ff707904bd88c5223ae58f0360a1c563ffe7bb11e08446fc SHA512 3960d26f6fa41eb3c6e9ccc719ac6c6ff7508f72c82507b2b2d5a6e7b88ce894933ee24ea73f2bc3c1a4460d12db78877805369def378f7d1d499c498a7a4f50 +AUX drone-1.1.0.initd 1851 BLAKE2B 89a15a0061c106e47d6c89267e697029ca2eef4d2d9920860e6b197f0cb8d58e5cbe37fd5223d5117ce3a3d3d827e0f36f9c34f97df6c3f697701cbd68a18337 SHA512 c8ab93b38715fe358bf92cfde29ec963bfd4849cf7e3e9d12d0476ac50de274957fd48de3cfc0ecf572a4c3581429a40c474a5342708777bc4ef4d41e9b2787a +EBUILD drone-1.1.0.ebuild 523 BLAKE2B 20ec727b9488eab0e2c9c7eabc6845ec9705ad3bdfb70803cefc52a4e85ca87f81d9089272c60e3ace8860eb5260e6348aae9f8b719c478e69dca8207d8323bc SHA512 b3ba803d16f6cc8acffcd19c96c993f502551ff0388bf0e5dc6b8c87f7a9389e3da5390de0ec326db617aea96344a46fcb7095bac17280185b61cce06bc6905f +MISC ChangeLog 201 BLAKE2B 3669f8a0a0e902e117fac513aebbb0b6c2ede455e95037a69c696f135581bfa1c6e43f55ebde27e96312a1122d68b40943f0fbf2ae426c0c28770f417cae7a4e SHA512 6939024478937ac39c91f98125b2735d1521e5c15a14783f44fe40e26bf9840f9d4dbdbc2b65b559f9446650b86daf599f2b640b87dbee84e78ec2b2c1a32e37 +MISC metadata.xml 248 BLAKE2B cb50cad2c614a99daa2e236f9e0d0fab1ab20a898c0b0f0c28a1387820ab1f2b9dd4d396a3b38f732b493824f96a29ee5894e80e09dbd08dff62c1aaba3feaa0 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 diff --git a/dev-util/drone/drone-1.1.0.ebuild b/dev-util/drone/drone-1.1.0.ebuild new file mode 100644 index 0000000..a8c29f7 --- /dev/null +++ b/dev-util/drone/drone-1.1.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +DESCRIPTION="Drone CI - Automate Software Testing and Delivery" +HOMEPAGE="https://drone.io/" +#SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="sqlite mysql" + +RESTRICT="mirror" +DEPEND="" +RDEPEND="app-emulation/docker + sqlite? ( dev-db/sqlite:3 ) + mysql? ( dev-db/mysql )" + +S="${WORKDIR}" + +src_install() { + newconfd "${FILESDIR}"/"${P}.confd" "${PN}" + newinitd "${FILESDIR}"/"${P}.initd" "${PN}" +} diff --git a/dev-util/drone/files/drone-1.1.0.confd b/dev-util/drone/files/drone-1.1.0.confd new file mode 100755 index 0000000..fd66b64 --- /dev/null +++ b/dev-util/drone/files/drone-1.1.0.confd @@ -0,0 +1,39 @@ +# set this to the full hostname (including scheme) of your Gitea instance +DRONE_GITEA_SERVER=http://gitea.example.com/ + +# set this to the bare hostname of your Drone instance +DRONE_SERVER_HOST=drone.example.com + +# set this to http or https, depending whether you intend to serve Drone over SSL or not +DRONE_SERVER_PROTO=https + +# These values are obtained when registering Drone as an OAuth2 application in your Gitea instance +DRONE_GITEA_CLIENT_ID= +DRONE_GITEA_CLIENT_SECRET= + +# The path to the docker socket +DOCKER_SOCKET=/var/run/docker.sock + +# The path to the MySQL socket +# FIXME this must be done better, in a more generic way +MYSQL_SOCKET=/var/run/mysqld/mysqld.sock + +# The full datasource path to your Drone database +DRONE_DATABASE_DATASOURCE=/data/drone.sqlite + +# The database driver Drone should use (sqlite, mysql, ...) +DRONE_DATABASE_DRIVER=sqlite + +# Number of agents that should be started concurrently on your Drone instance +DRONE_RUNNER_CAPACITY=2 + +# If logging in doesn't work, try setting this to true +DRONE_GIT_ALWAYS_AUTH=false + +# Leave this false if you don't intend to use ACME/Letsencrypt +# FIXME really?? +DRONE_TLS_AUTOCERT=false + +# What port to public from your container. Format: +# :, e.g. 8080:80 +DRONE_PUBLISH_PORT=80:80 diff --git a/dev-util/drone/files/drone-1.1.0.initd b/dev-util/drone/files/drone-1.1.0.initd new file mode 100755 index 0000000..6d7643c --- /dev/null +++ b/dev-util/drone/files/drone-1.1.0.initd @@ -0,0 +1,62 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Drone CI - Automate software testing and delivery" + +container_name_file=/var/run/drone-container.name + +: ${DRONE_GITEA_SERVER:=http://localhost/ +: ${DRONE_SERVER_HOST:=localhost} +: ${DRONE_SERVER_PROTO:=https} +: ${DRONE_GITEA_CLIENT_ID:=} +: ${DRONE_GITEA_CLIENT_SECRET:=} +: ${DOCKER_SOCKET:=/var/run/docker.sock} +# fixme this must be done better, in a more generic way +: ${MYSQL_SOCKET:=/var/run/mysqld/mysqld.sock} +: ${DRONE_DATABASE_DATASOURCE:=/data/drone.sqlite} +: ${DRONE_DATABASE_DRIVER:=sqlite} +: ${DRONE_RUNNER_CAPACITY:=2} +: ${DRONE_GIT_ALWAYS_AUTH:=false} +: ${DRONE_TLS_AUTOCERT:=false} +: ${DRONE_PUBLISH_PORT:=80:80} + +depend() { + need docker + after mysql +} + +pre_start() { + docker pull drone/drone:1.1.0 +} + +start() { + docker run \ + --volume=${DOCKER_SOCKET}:${DOCKER_SOCKET} \ + --volume=${MYSQL_SOCKET}:${MYSQL_SOCKET} \ + --env=DRONE_GITEA_SERVER=${DRONE_GITEA_SERVER} \ + --env=DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID} \ + --env=DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET} \ + --env=DRONE_GIT_ALWAYS_AUTH=${DRONE_GIT_ALWAYS_AUTH} \ + --env=DRONE_RUNNER_CAPACITY=${DRONE_RUNNER_CAPACITY} \ + --env=DRONE_SERVER_HOST=${DRONE_SERVER_HOST} \ + --env=DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} \ + --env=DRONE_TLS_AUTOCERT=${DRONE_TLS_AUTOCERT} \ + --env=DRONE_DATABASE_DATASOURCE="${DRONE_DATABASE_DATASOURCE}" \ + --env=DRONE_DATABASE_DRIVER=${DRONE_DATABASE_DRIVER} \ + --publish=${DRONE_PUBLISH_PORT} \ + --restart=always \ + --detach=true \ + --name=drone \ + drone/drone:1.1.0 \ + > ${container_name_file} +} + +stop() { + docker container stop $(cat ${container_name_file}) +} + +stop_post() { + docker container rm $(cat ${container_name_file}) + rm ${container_name_file} +} diff --git a/dev-util/drone/metadata.xml b/dev-util/drone/metadata.xml new file mode 100644 index 0000000..67a771c --- /dev/null +++ b/dev-util/drone/metadata.xml @@ -0,0 +1,8 @@ + + + + + manuel@fritteli.ch + Manuel Friedli + +