mirror of
https://github.com/rasilon/ujetl.git
synced 2026-04-11 10:29:29 +00:00
Add RPM build
This commit is contained in:
parent
bba3377b9e
commit
41f149f5ab
7 changed files with 145 additions and 46 deletions
6
build_util/build_in_docker
Executable file
6
build_util/build_in_docker
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
docker build --rm -t local/c7-buildhost docker
|
||||
|
||||
docker run -it -v `pwd`:/root/build local/c7-buildhost /root/build/build_util/build_rpm
|
||||
12
build_util/build_rpm
Executable file
12
build_util/build_rpm
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
cd /root
|
||||
cp -Rv build build2
|
||||
cd build2
|
||||
|
||||
SPEC=$(ls *.spec)
|
||||
VER=$(grep Version $SPEC | awk '{print $2}')
|
||||
tar cvf $HOME/rpmbuild/SOURCES/DataMigrator-${VER}.tar.gz --show-transformed --transform="s/^\./PPL_DataMigrationTools-${VER}/" .
|
||||
rpmbuild -ba $SPEC
|
||||
cp /root/rpmbuild/RPMS/x86_64/PPL_DataMigrationTools-* /root/build/
|
||||
28
docker/Dockerfile
Normal file
28
docker/Dockerfile
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# General build RPM environment for CentOS 6.x
|
||||
#
|
||||
# VERSION 0.0.1
|
||||
|
||||
FROM centos:centos7
|
||||
MAINTAINER Derry Hamilton <derryh@postcodelottery.co.uk>
|
||||
|
||||
# Install up-to-date epel rpm repository
|
||||
RUN yum -y install epel-release
|
||||
|
||||
# Install various packages to get compile environment
|
||||
RUN yum -y groupinstall 'Development Tools'
|
||||
|
||||
# Install git command to access GitHub repository
|
||||
RUN yum -y install git
|
||||
|
||||
# Install rpm-build to use rpmrebuild command
|
||||
RUN yum -y install rpm-build
|
||||
|
||||
# Install yum-utils to use yumdownloader command
|
||||
RUN yum -y install yum-utils
|
||||
|
||||
# Install rpmdevtools to use rpmdev-setuptree command
|
||||
RUN yum -y install rpmdevtools
|
||||
|
||||
# Install rpmdevtools to use rpmdev-setuptree command
|
||||
RUN yum -y install maven
|
||||
RUN mkdir -p /root/rpmbuild/SOURCES
|
||||
28
install_extra/copying_defaults_log4j.properties
Normal file
28
install_extra/copying_defaults_log4j.properties
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
log4j.rootLogger=info, stdout, R, SYSLOG
|
||||
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Threshold=info
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
|
||||
# Pattern to output the caller's file name and line number.
|
||||
#log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %d - %m%n
|
||||
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2} %x - %m%n
|
||||
|
||||
log4j.appender.R=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.R.File=/tmp/DefaultCopyingApp.log
|
||||
|
||||
log4j.appender.R.MaxFileSize=100KB
|
||||
# Keep one backup file
|
||||
log4j.appender.R.MaxBackupIndex=1
|
||||
|
||||
log4j.appender.R.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.R.layout.ConversionPattern=%p %t %c %d - %m%n
|
||||
|
||||
|
||||
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
|
||||
log4j.appender.SYSLOG.Threshold=info
|
||||
log4j.appender.SYSLOG.syslogHost=localhost
|
||||
log4j.appender.SYSLOG.Facility=LOCAL4
|
||||
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.SYSLOG.layout.conversionPattern=%d{ISO8601} %-5p [%t] %c{2} %x - %m%n
|
||||
|
||||
38
install_extra/run_copying_job
Executable file
38
install_extra/run_copying_job
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
|
||||
JOBNAME=${1:-undef}
|
||||
if [ -z "${JOBNAME}" ]
|
||||
then
|
||||
echo "Job name not specified"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -e "/etc/ujetl/${JOBNAME}_config_live.xml" ]
|
||||
then
|
||||
echo "Could not find config file for $JOBNAME"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
LOG_PROPS=/etc/ujetl/copying_defaults_log4j.properties
|
||||
if [ -e "/etc/ujetl/${JOBNAME}_log4j.properties" ]
|
||||
then
|
||||
echo Using log config "/etc/ujetl/${JOBNAME}_log4j.properties"
|
||||
LOG_PROPS="/etc/ujetl/${JOBNAME}_log4j.properties"
|
||||
else
|
||||
echo Using default logging.
|
||||
fi
|
||||
|
||||
#LOCKFILE=/tmp/"${JOBNAME}"_copying.lock
|
||||
|
||||
#/usr/bin/lockfile -r ${RETRIES:-"1"} $LOCKFILE || exit 1
|
||||
|
||||
#trap "rm -f $LOCKFILE; exit" INT TERM EXIT
|
||||
|
||||
/usr/bin/java \
|
||||
-Xms1g \
|
||||
-Xmx2g \
|
||||
-cp /usr/share/ujetl/lib/CopyingApp.jar \
|
||||
com.ujetl.data.CopyingApp \
|
||||
--log4j "$LOG_PROPS" \
|
||||
--config "/etc/ujetl/${JOBNAME}_config_live.xml"
|
||||
|
||||
#rm -f $LOCKFILE
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
JOBNAME=${1:-undef}
|
||||
if [ -z "${JOBNAME}" ]
|
||||
then
|
||||
echo "Job name not specified"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -e "/etc/ujetl/${JOBNAME}_config_live.xml" ]
|
||||
then
|
||||
echo "Could not find config file for $JOBNAME"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
LOG_PROPS=/etc/ujetl/copying_defaults_log4j.xml
|
||||
if [ -e "/etc/ujetl/${JOBNAME}_log4j.xml" ]
|
||||
then
|
||||
echo Using log config "/etc/ujetl/${JOBNAME}_log4j.xml"
|
||||
LOG_PROPS="/etc/ujetl/${JOBNAME}_log4j.xml"
|
||||
else
|
||||
echo Using default logging.
|
||||
fi
|
||||
test -e "$LOG_PROPS"
|
||||
|
||||
|
||||
LOCKFILE=/tmp/"${JOBNAME}"_copying.lock
|
||||
|
||||
/usr/bin/lockfile -r ${RETRIES:-"1"} $LOCKFILE || exit 1
|
||||
|
||||
trap "rm -f $LOCKFILE; exit" INT TERM EXIT
|
||||
|
||||
/usr/bin/java \
|
||||
-Xms1g \
|
||||
-Xmx2g \
|
||||
-jar target/CopyingApp-2.0.0-jar-with-dependencies.jar \
|
||||
--log4j "$LOG_PROPS" \
|
||||
--config "/etc/ujetl/${JOBNAME}_config_live.xml"
|
||||
|
||||
if [ -e "/etc/ujetl/${JOBNAME}_post.sql" ]
|
||||
then
|
||||
psql -f "/etc/ujetl/${JOBNAME}_post.sql" data_hub
|
||||
fi
|
||||
|
||||
rm -f $LOCKFILE
|
||||
33
uJETL.spec
Normal file
33
uJETL.spec
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
Summary: Java app to facilitate moving data between databases.
|
||||
Name: uJETL
|
||||
Version: 2.0.0
|
||||
Release: 1
|
||||
Group: Applications/Database
|
||||
License: All rights reserved.
|
||||
Source: uJETL-%{version}.tar.gz
|
||||
URL: https://github.com/rasilon/ujetl.git
|
||||
Distribution: derryh
|
||||
Vendor: derryh
|
||||
Packager: Derry Hamilton <derryh@rasilon.net>
|
||||
#BuildRoot: .
|
||||
|
||||
%description
|
||||
A very small ETL app
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
#mvn -Dmaven.test.skip=true clean package
|
||||
true
|
||||
|
||||
%install
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/share/ujetl/lib $RPM_BUILD_ROOT/etc/ujetl $RPM_BUILD_ROOT/usr/bin
|
||||
cp target/CopyingApp-*-jar-with-dependencies.jar $RPM_BUILD_ROOT/usr/share/ujetl/lib/CopyingApp.jar
|
||||
cp install_extra/run_copying_job $RPM_BUILD_ROOT/usr/bin
|
||||
cp install_extra/copying_defaults_log4j.properties $RPM_BUILD_ROOT/etc/ujetl
|
||||
|
||||
%files
|
||||
/usr/share/ujetl/lib/CopyingApp.jar
|
||||
/usr/bin/run_copying_job
|
||||
/etc/ujetl/copying_defaults_log4j.properties
|
||||
Loading…
Add table
Add a link
Reference in a new issue