Merge "add docker packaging for CentOS 7 & Ubuntu 14.04"

This commit is contained in:
Jenkins 2016-06-06 07:39:46 +00:00 committed by Gerrit Code Review
commit b11fb6e11c
5 changed files with 123 additions and 0 deletions

17
packaging/README.md Normal file
View File

@ -0,0 +1,17 @@
# Packaging synergy-scheduler-manager
## Using docker
1. build the image
```shell
cd packaging/docker/{ubuntu-14.04,centos7}
docker build -t scheduler-builder-{centos7,ubuntu-14.04} .
```
2. run the image
```shell
Docker run -i -v /path/to/synergy-scheduler-manager:/tmp/python-synergy-scheduler-manager scheduler-builder-{centos7,ubuntu-14.04}
```
the deb/rpm will be output in `path/to/synergy-scheduler-manager/build`

View File

@ -0,0 +1,13 @@
FROM centos:7
MAINTAINER Vincent Llorens <vincent.llorens@cc.in2p3.fr>
RUN yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-liberty/rdo-release-liberty-3.noarch.rpm \
rpm-build \
python-devel \
python-setuptools \
&& yum update -y
RUN mkdir /tmp/python-synergy-scheduler-manager
RUN useradd -m -p pkger pkger
USER pkger
COPY build.sh /home/pkger/
WORKDIR /home/pkger/
CMD bash build.sh

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -e -x
RPMBUILD=/home/pkger/rpmbuild
PKG_DIR=/tmp/python-synergy-scheduler-manager
function get_version() {
local file=$PKG_DIR/setup.cfg
export PKG_VERSION=$(grep -e "version = " $file | sed -r "s/version = ()/\1/")
}
function setup() {
mkdir -p /home/pkger/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cd $RPMBUILD/SOURCES/
cp -r $PKG_DIR python-synergy-scheduler-manager-$PKG_VERSION
rm -r python-synergy-scheduler-manager-$PKG_VERSION/{.tox,.testrepository,build,dist} || true
tar cjf python-synergy-scheduler-manager-${PKG_VERSION}.tar.bz2 python-synergy-scheduler-manager-$PKG_VERSION
cp $PKG_DIR/packaging/rpm/python-synergy-scheduler-manager.spec $RPMBUILD/SPECS/python-synergy-scheduler-manager.spec
}
function build() {
cd $RPMBUILD/SPECS
export PBR_VERSION=$PKG_VERSION
rpmbuild -ba python-synergy-scheduler-manager.spec
mkdir -p $PKG_DIR/build/
cp -i $RPMBUILD/RPMS/noarch/python-synergy-scheduler-manager-*.rpm $PKG_DIR/build/
}
function clean() {
rm -rf $RPMBUILD
}
clean || true
get_version
setup
build

View File

@ -0,0 +1,17 @@
FROM ubuntu:14.04
MAINTAINER Vincent Llorens <vincent.llorens@cc.in2p3.fr>
RUN apt-get update \
&& apt-get install -y build-essential \
debhelper \
devscripts \
dh-systemd \
git-core \
python-all \
python-pbr \
python-setuptools
RUN mkdir /tmp/python-synergy-scheduler-manager
RUN useradd -m -p pkger pkger
USER pkger
COPY build.sh /home/pkger/build.sh
WORKDIR /home/pkger
CMD bash build.sh

View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e -x
PKG_DIR=/tmp/python-synergy-scheduler-manager
function copy_source() {
cd /home/pkger
cp -r $PKG_DIR python-synergy-scheduler-manager
rm -r python-synergy-scheduler-manager/{.tox,.testrepository,build,dist} || true
}
function get_version() {
local file=/home/pkger/python-synergy-scheduler-manager/setup.cfg
export PKG_VERSION=$(grep -e "version = " $file | sed -r "s/version = ()/\1/")
}
function setup() {
cd /home/pkger
tar cjf python-synergy-scheduler-manager_${PKG_VERSION}.orig.tar.bz2 python-synergy-scheduler-manager
mv python-synergy-scheduler-manager/packaging/debian python-synergy-scheduler-manager/debian
}
function build() {
cd /home/pkger/python-synergy-scheduler-manager
debuild -us -uc
mkdir -p $PKG_DIR/build
cp -i /home/pkger/*.deb $PKG_DIR/build
}
function clean() {
rm -r /home/pkger/python-synergy-scheduler-manager{,_${PKG_VERSION}.orig.tar.bz2}
}
clean || true # no cleaning to do on a fresh install
copy_source
get_version
setup
build