[UPDATE] - add generate and docker compose
This commit is contained in:
parent
b6ab8110d2
commit
4dacaf53ff
23
.env
23
.env
@ -1,2 +1,23 @@
|
|||||||
|
#####################################
|
||||||
|
# Repository generator
|
||||||
|
|
||||||
|
# Centos Version
|
||||||
CentOsVersion=7.9.2009
|
CentOsVersion=7.9.2009
|
||||||
Run=sync.sh
|
# Sync repo script
|
||||||
|
Run=/bin/sync.sh
|
||||||
|
# Sync arg script
|
||||||
|
# * del : delete all local repo
|
||||||
|
# * debug : only start docker instance
|
||||||
|
# * empty : sync whithout delete
|
||||||
|
RunArg=del
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Esl compilator
|
||||||
|
|
||||||
|
# Programme local directory
|
||||||
|
ProgrammeDir=/data/GIT/ESL_PRODUIT
|
||||||
|
# Repositories Directory
|
||||||
|
RepoDir=./data/repo
|
||||||
|
# If auto gen script esl Else leave empty and only start docker instance
|
||||||
|
GenScript=/data/gen.sh
|
||||||
|
|
||||||
|
|||||||
16
Dockerfile.esl
Normal file
16
Dockerfile.esl
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
FROM centos:centos7
|
||||||
|
LABEL maintainer="Guillaume Astier Ruiz"
|
||||||
|
|
||||||
|
ENV os="centos" \
|
||||||
|
osversion="7"
|
||||||
|
|
||||||
|
RUN yum install -y perl perl-Business-ISBN perl-Business-ISBN-Data perl-Carp perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-Data-Dumper perl-Data-OptList perl-Digest perl-Digest-MD5 perl-Encode perl-Encode-Locale perl-Error perl-Exporter perl-ExtUtils-Install perl-ExtUtils-MakeMaker perl-ExtUtils-Manifest perl-ExtUtils-ParseXS perl-File-Listing perl-File-Path perl-File-Temp perl-Filter perl-Font-AFM perl-Getopt-Long perl-HTML-Format perl-HTML-Parser perl-HTML-Tagset perl-HTML-Tree perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-HTTP-Tiny perl-IO-Compress perl-IO-HTML perl-IO-Socket-IP perl-IO-Socket-SSL perl-IO-stringy perl-LWP-MediaTypes perl-Module-Implementation perl-Module-Runtime perl-Mozilla-CA perl-Net-HTTP perl-Net-LibIDN perl-Net-SSLeay perl-Package-Generator perl-PadWalker perl-Params-Util perl-Params-Validate perl-PathTools perl-Pod-Escapes perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Sub-Exporter perl-Sub-Install perl-TermReadKey perl-Test-Harness perl-Text-ParseWords perl-Thread-Queue perl-Time-HiRes perl-Time-Local perl-TimeDate perl-Tk perl-Try-Tiny perl-URI perl-WWW-RobotRules perl-XML-Catalog perl-XML-DOM perl-XML-Dumper perl-XML-Filter-BufferText perl-XML-Grove perl-XML-Handler-YAWriter perl-XML-LibXML perl-XML-LibXSLT perl-XML-NamespaceSupport perl-XML-Parser perl-XML-RegExp perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Writer perl-XML-Simple perl-XML-TokeParser perl-XML-TreeBuilder perl-XML-Twig perl-XML-Writer perl-XML-XPath perl-XML-XPathEngine perl-constant perl-devel perl-libs perl-libwww-perl perl-libxml-perl perl-macros perl-parent perl-podlators perl-srpm-macros perl-threads perl-threads-shared
|
||||||
|
RUN yum install -y basesystem binutils bzip2 cpp createrepo dejavu-fonts-common dejavu-sans-fonts deltarpm dwz elfutils elfutils-devel elfutils-libelf-devel fontconfig fontpackages-filesystem gcc gdb gdbm-devel genisoimage glibc-devel glibc-headers gpm-libs groff-base keyutils-libs-devel libX11 libX11-common libXau libXft libXrender libcom_err-devel libdb-devel libjpeg-turbo libmpc libselinux-devel libsepol-devel libusal libverto-devel libxcb libxml2-python lm_sensors-devel lm_sensors-libs mailcap mpfr ncurses-base net-tools openssl-devel pcre-devel popt-devel pyparsing python-deltarpm python-gobject-base python-srpm-macros redhat-rpm-config rpm-build rpm-devel rsync strace tcp_wrappers-devel tree unzip vim-common vim-enhanced vim-filesystem xz-devel zip zlib-devel nginx openssh-clients
|
||||||
|
|
||||||
|
|
||||||
|
RUN yum install -y net-snmp
|
||||||
|
|
||||||
|
COPY ./bin/run.sh /bin/run.sh
|
||||||
|
RUN chmod 777 /bin/run.sh
|
||||||
|
CMD ["/bin/run.sh ${Run}"]
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ rm -f /lib/systemd/system/anaconda.target.wants/*;
|
|||||||
VOLUME [ "/sys/fs/cgroup" ]
|
VOLUME [ "/sys/fs/cgroup" ]
|
||||||
|
|
||||||
|
|
||||||
RUN yum install yum-utils createrepo vim -y
|
RUN yum install yum-utils createrepo vim wget -y
|
||||||
RUN yum install epel-release -y
|
RUN yum install epel-release -y
|
||||||
COPY ./bin/sync.sh /bin/sync.sh
|
COPY ./bin/sync.sh /bin/sync.sh
|
||||||
RUN chmod 755 /bin/sync.sh
|
RUN chmod 755 /bin/sync.sh
|
||||||
@ -22,4 +22,4 @@ RUN chmod 755 /bin/empty.sh
|
|||||||
|
|
||||||
#CMD ["/usr/sbin/init"]
|
#CMD ["/usr/sbin/init"]
|
||||||
#CMD ["/bin/sync.sh"]
|
#CMD ["/bin/sync.sh"]
|
||||||
CMD ["/bin/${Run}"]
|
CMD ["${Run} ${RunArg}"]
|
||||||
14
bin/run.sh
Normal file
14
bin/run.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
if [[ -x $1 ]]
|
||||||
|
then
|
||||||
|
$1
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
# Running daemon
|
||||||
|
done
|
||||||
10
bin/sync.sh
10
bin/sync.sh
@ -13,6 +13,16 @@ Res() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WhileTrue() {
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $1 == "debug" ]] && WhileTrue
|
||||||
|
|
||||||
[[ $1 == "del" ]] && rm -Rf /data/repo /data/log
|
[[ $1 == "del" ]] && rm -Rf /data/repo /data/log
|
||||||
|
|
||||||
|
|||||||
10
docker-compose.yml.esl
Normal file
10
docker-compose.yml.esl
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
compil:
|
||||||
|
image: esl-compilator
|
||||||
|
volumes:
|
||||||
|
- ${ProgrammeDir}:/data
|
||||||
|
- ${RepoDir}:/data/distributions
|
||||||
|
|
||||||
@ -1,7 +1,9 @@
|
|||||||
version: '2'
|
version: '2'
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
c7repo:
|
c7repo:
|
||||||
image: c7repo
|
image: c7repo
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
|
|
||||||
107
generate_env.sh
Normal file
107
generate_env.sh
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TestEnv() {
|
||||||
|
|
||||||
|
Check=$(which $1 2> /dev/null)
|
||||||
|
if [[ -z ${Check} ]]
|
||||||
|
then
|
||||||
|
echo "$1 not found ... "
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Res() {
|
||||||
|
if [[ $1 -eq 0 ]]
|
||||||
|
then
|
||||||
|
echo "$(tput setaf 2)OK$(tput sgr0)"
|
||||||
|
else
|
||||||
|
echo "$(tput setaf 1)FAILED$(tput sgr0)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
help () {
|
||||||
|
echo "
|
||||||
|
$0 [image/repo/esl/all]
|
||||||
|
|
||||||
|
* image : Generate docker images
|
||||||
|
* repo : start docker compose and generate repositories
|
||||||
|
* esl : start docker compose and generarte esl
|
||||||
|
* all : Do everything
|
||||||
|
|
||||||
|
"
|
||||||
|
exit
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Wai=$(realpath $(dirname $0))
|
||||||
|
|
||||||
|
|
||||||
|
TestEnv realpath
|
||||||
|
TestEnv docker
|
||||||
|
TestEnv tput
|
||||||
|
|
||||||
|
|
||||||
|
LogDockerCompilatorGenerate=/tmp/DockerCompilatorGenerate.log
|
||||||
|
LogDockerRepoGenerate=/tmp/DockerRepoGenerate.log
|
||||||
|
LogDockerCompilatorRun=/tmp/DockerCompilatorRun.log
|
||||||
|
LogDockerRepoRun=/tmp/DockerRepoRun.log
|
||||||
|
|
||||||
|
|
||||||
|
cd ${Wai}
|
||||||
|
|
||||||
|
|
||||||
|
DockerGen() {
|
||||||
|
echo "Generate compilator Dokcer ... : "
|
||||||
|
docker build . -t esl-compilator -f Dockerfile.esl 2>&1 | tee $LogDockerCompilatorGenerate &> /dev/null
|
||||||
|
Res $?
|
||||||
|
|
||||||
|
echo "Generate Repo Docker ... : "
|
||||||
|
docker build . -t esl-compilator -f Dockerfile.esl 2>&1 | tee $LogDockerCompilatorGenerate &> /dev/null
|
||||||
|
Res $?
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DockerComposeRunEsl () {
|
||||||
|
[[ $1 == "Print" ]] && Print="" || Print="-d"
|
||||||
|
echo -n "Starting ESL COMPILATOR ... : "
|
||||||
|
docker-compose -f docker-compose.yml.esl up ${Print} 2>&1 ${LogDockerCompilatorRun} &> /dev/null
|
||||||
|
Res $?
|
||||||
|
}
|
||||||
|
|
||||||
|
DockerComposeRunRepo () {
|
||||||
|
echo -n "Starting Repo Sync ... : "
|
||||||
|
docker-compose -f docker-compose.yml.repo up ${Print} 2>&1 ${LogDockerRepoRun} &> /dev/null
|
||||||
|
Res $?
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Exec=$1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[ -z "${Exec}"]] && help
|
||||||
|
[[ "${Exec}" == "image" ]] && DockerGen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[ "${Exec}" == "repo" ]] && DockerComposeRunRepo
|
||||||
|
[[ "${Exec}" == "esl" ]] && DockerComposeRunEsl
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "${Exec}" == "all" ]]
|
||||||
|
then
|
||||||
|
DockerGen
|
||||||
|
DockerComposeRunRepo Print
|
||||||
|
DockerComposeRunEsl Print
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user