3 changed files with 206 additions and 0 deletions
@ -0,0 +1,12 @@ |
|||||||
|
## |
||||||
|
## drone-runner-exec.sh -- drone-runner-exec(8) configuration |
||||||
|
## |
||||||
|
|
||||||
|
GODEBUG=netdns=go |
||||||
|
DRONE_DEBUG=true |
||||||
|
|
||||||
|
DRONE_RPC_PROTO=http |
||||||
|
DRONE_RPC_HOST=127.0.0.1:9000 |
||||||
|
DRONE_RPC_SECRET=the-server-secret |
||||||
|
DRONE_LOG_FILE=@l_prefix@/var/drone-runner-exec/log/drone-runner-exec.log |
||||||
|
|
@ -0,0 +1,126 @@ |
|||||||
|
## |
||||||
|
## drone-runner-exec.spec -- OpenPKG RPM Package Specification |
||||||
|
## Copyright (c) 2000-2019 OpenPKG Project <http://openpkg.org/> |
||||||
|
## |
||||||
|
## Permission to use, copy, modify, and distribute this software for |
||||||
|
## any purpose with or without fee is hereby granted, provided that |
||||||
|
## the above copyright notice and this permission notice appear in all |
||||||
|
## copies. |
||||||
|
## |
||||||
|
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||||
|
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||||
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||||
|
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||||
|
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||||
|
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||||
|
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||||
|
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||||
|
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||||
|
## SUCH DAMAGE. |
||||||
|
## |
||||||
|
|
||||||
|
# package version |
||||||
|
%define V_opkg 1.0.0b8 |
||||||
|
%define V_release 1.0.0-beta.8 |
||||||
|
%define V_dist 20191115 |
||||||
|
|
||||||
|
# package information |
||||||
|
Name: drone-runner-exec |
||||||
|
Summary: Continuous Integration (CI) Service: Controller Server |
||||||
|
URL: https://drone.io/ |
||||||
|
Vendor: Drone.IO Inc. |
||||||
|
Packager: OpenPKG Project |
||||||
|
Distribution: OpenPKG Community |
||||||
|
Class: EVAL |
||||||
|
Group: Web |
||||||
|
License: Apache |
||||||
|
Version: %{V_opkg}.%{V_dist} |
||||||
|
Release: 20191115 |
||||||
|
|
||||||
|
# list of sources |
||||||
|
Source0: http://download.openpkg.org/components/versioned/drone/drone-runner-exec-%{V_dist}.tar.xz |
||||||
|
Source1: rc.drone-runner-exec |
||||||
|
Source2: drone-runner-exec.sh |
||||||
|
|
||||||
|
# build information |
||||||
|
BuildPreReq: OpenPKG, openpkg >= 20160101, go |
||||||
|
PreReq: OpenPKG, openpkg >= 20160101 |
||||||
|
|
||||||
|
%description |
||||||
|
Drone is a Continuous Delivery system built on Docker container |
||||||
|
technology. Drone uses a simple YAML configuration file, a superset |
||||||
|
of docker-compose(1), to define and execute Pipelines inside Docker |
||||||
|
containers. This is the Controller component. |
||||||
|
|
||||||
|
%track |
||||||
|
prog drone-runner-exec:release = { |
||||||
|
version = %{V_release} |
||||||
|
url = https://github.com/drone-runners/drone-runner-exec/releases |
||||||
|
regex = v(__VER__)\.tar\.gz |
||||||
|
} |
||||||
|
prog drone-runner-exec:snapshot = { |
||||||
|
version = %{V_dist} |
||||||
|
url = http://download.openpkg.org/components/versioned/drone/ |
||||||
|
regex = drone-runner-exec-(__VER__)\.tar\.xz |
||||||
|
} |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q -n drone-runner-exec |
||||||
|
|
||||||
|
%build |
||||||
|
# build program |
||||||
|
export GOPATH=`pwd` |
||||||
|
go build -v -o drone-runner-exec github.com/drone-runners/drone-runner-exec/ |
||||||
|
|
||||||
|
%install |
||||||
|
# create installation hierarchy |
||||||
|
%{l_shtool} mkdir -f -p -m 755 \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/sbin \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/etc/drone-runner-exec \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/var/drone-runner-exec/log \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/var/drone-runner-exec/run |
||||||
|
|
||||||
|
# install program |
||||||
|
%{l_shtool} install -c -s -m 755 \ |
||||||
|
drone-runner-exec $RPM_BUILD_ROOT%{l_prefix}/sbin/ |
||||||
|
|
||||||
|
# install default configuration |
||||||
|
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||||
|
%{SOURCE drone-runner-exec.sh} $RPM_BUILD_ROOT%{l_prefix}/etc/drone-runner-exec/ |
||||||
|
|
||||||
|
# install run-command script |
||||||
|
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
||||||
|
%{SOURCE rc.drone-runner-exec} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
||||||
|
|
||||||
|
# determine installation files |
||||||
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
||||||
|
%{l_files_std} \ |
||||||
|
'%config %attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/drone-runner-exec' \ |
||||||
|
'%config %attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/etc/drone-runner-exec/*' \ |
||||||
|
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/drone-runner-exec/*' \ |
||||||
|
'%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/drone-runner-exec/*/*' |
||||||
|
|
||||||
|
%files -f files |
||||||
|
|
||||||
|
%clean |
||||||
|
|
||||||
|
%post |
||||||
|
if [ $1 -eq 2 ]; then |
||||||
|
# after upgrade, restart service |
||||||
|
eval `%{l_rc} drone-runner-exec status 2>/dev/null` |
||||||
|
[ ".$drone_server_active" = .yes ] && %{l_rc} drone-runner-exec restart |
||||||
|
fi |
||||||
|
exit 0 |
||||||
|
|
||||||
|
%preun |
||||||
|
if [ $1 -eq 0 ]; then |
||||||
|
# before erase, stop service and remove log files |
||||||
|
%{l_rc} drone-runner-exec stop 2>/dev/null |
||||||
|
rm -rf $RPM_INSTALL_PREFIX/var/drone-runner-exec/log/* >/dev/null 2>&1 || true |
||||||
|
rm -rf $RPM_INSTALL_PREFIX/var/drone-runner-exec/run/* >/dev/null 2>&1 || true |
||||||
|
fi |
||||||
|
exit 0 |
||||||
|
|
@ -0,0 +1,68 @@ |
|||||||
|
#!@l_prefix@/bin/openpkg rc |
||||||
|
## |
||||||
|
## rc.drone-runner-exec -- Run-Commands |
||||||
|
## |
||||||
|
|
||||||
|
%config |
||||||
|
drone_runner_exec_enable="$openpkg_rc_def" |
||||||
|
drone_runner_exec_flags="" |
||||||
|
drone_runner_exec_log_prolog="true" |
||||||
|
drone_runner_exec_log_epilog="true" |
||||||
|
drone_runner_exec_log_numfiles="10" |
||||||
|
drone_runner_exec_log_minsize="1M" |
||||||
|
drone_runner_exec_log_complevel="9" |
||||||
|
|
||||||
|
%common |
||||||
|
drone_runner_exec_cfgfile="@l_prefix@/etc/drone-runner-exec/drone-runner-exec.sh" |
||||||
|
drone_runner_exec_pidfile="@l_prefix@/var/drone-runner-exec/run/drone-runner-exec.pid" |
||||||
|
drone_runner_exec_tmpfile="@l_prefix@/var/drone-runner-exec/run/drone-runner-exec.tmp" |
||||||
|
drone_runner_exec_logfile="@l_prefix@/var/drone-runner-exec/log/drone-runner-exec.log" |
||||||
|
drone_runner_exec_signal () { |
||||||
|
[ -f $drone_runner_exec_pidfile ] && kill -$1 `cat $drone_runner_exec_pidfile` |
||||||
|
} |
||||||
|
|
||||||
|
%status -u @l_rusr@ -o |
||||||
|
drone_runner_exec_usable="unknown" |
||||||
|
drone_runner_exec_active="no" |
||||||
|
rcService drone_runner_exec enable yes && \ |
||||||
|
drone_runner_exec_signal 0 && drone_runner_exec_active="yes" |
||||||
|
echo "drone_runner_exec_enable=\"$drone_runner_exec_enable\"" |
||||||
|
echo "drone_runner_exec_usable=\"$drone_runner_exec_usable\"" |
||||||
|
echo "drone_runner_exec_active=\"$drone_runner_exec_active\"" |
||||||
|
|
||||||
|
%start -u @l_rusr@ |
||||||
|
rcService drone-runner-exec enable yes || exit 0 |
||||||
|
rcService drone-runner-exec active yes && exit 0 |
||||||
|
( GOMAXPROCS=32 |
||||||
|
export GOMAXPROCS |
||||||
|
sed -e 's/^\([A-Z][^=]*\)=\(.*\)$/\1=\2; export \1/' \ |
||||||
|
<@l_prefix@/etc/drone-runner-exec/drone-runner-exec.sh >$drone_runner_exec_tmpfile |
||||||
|
. $drone_runner_exec_tmpfile |
||||||
|
rm -f $drone_runner_exec_tmpfile |
||||||
|
nohup @l_prefix@/sbin/drone-runner-exec \ |
||||||
|
$drone_runner_exec_flags \ |
||||||
|
</dev/null >>$drone_runner_exec_logfile 2>&1 & |
||||||
|
echo $! >$drone_runner_exec_pidfile |
||||||
|
) >/dev/null 2>&1 |
||||||
|
|
||||||
|
%stop -u @l_rusr@ |
||||||
|
rcService drone-runner-exec enable yes || exit 0 |
||||||
|
rcService drone-runner-exec active no && exit 0 |
||||||
|
drone_runner_exec_signal TERM |
||||||
|
sleep 2 |
||||||
|
rm -f $drone_runner_exec_pidfile >/dev/null 2>&1 || true |
||||||
|
|
||||||
|
%restart -u @l_rusr@ |
||||||
|
rcService drone-runner-exec enable yes || exit 0 |
||||||
|
rcService drone-runner-exec active no && exit 0 |
||||||
|
rc drone_runner_exec stop start |
||||||
|
|
||||||
|
%daily -u @l_susr@ |
||||||
|
rcService drone-runner-exec enable yes || exit 0 |
||||||
|
shtool rotate -f \ |
||||||
|
-n ${drone_runner_exec_log_numfiles} -s ${drone_runner_exec_log_minsize} -d \ |
||||||
|
-z ${drone_runner_exec_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
||||||
|
-P "${drone_runner_exec_log_prolog}" \ |
||||||
|
-E "${drone_runner_exec_log_epilog}; rc drone-runner-exec restart" \ |
||||||
|
$drone_runner_exec_logfile |
||||||
|
|
Loading…
Reference in new issue