[UPADTE] - readme

This commit is contained in:
Guillaume Astier
2021-12-11 11:29:38 +01:00
parent b1fb3753ad
commit 0e45064031
8 changed files with 219 additions and 160 deletions
+17
View File
@@ -0,0 +1,17 @@
FROM centos:centos7
LABEL maintainer='Guillaume Astier Ruiz'
ENV os='centos'
ENV 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 ${GenScript}]
CMD /bin/run.sh ${GenScript}
+16
View File
@@ -0,0 +1,16 @@
FROM centos:${CentOsVersion}
LABEL maintainer='Guillaume Astier Ruiz'
ENV os='centos'
ENV osversion='7'
RUN yum install yum-utils createrepo vim wget -y
RUN yum install epel-release -y
COPY ./bin/sync.sh /bin/sync.sh
RUN chmod 755 /bin/sync.sh
COPY ./bin/empty.sh /bin/empty.sh
RUN chmod 755 /bin/empty.sh
#CMD [${Run} ${RunArg}]
CMD ${Run} ${RunArg}
+10
View File
@@ -0,0 +1,10 @@
version: '2'
services:
esl-gen:
image: esl-gen:${GenVers}
volumes:
- ${ProgrammeDir}:/data
- ${RepoDir}:/data/distributions
+9
View File
@@ -0,0 +1,9 @@
version: '2'
services:
esl-repo:
image: esl-repo:${RepoVers}
volumes:
- ./data:/data
+126
View File
@@ -0,0 +1,126 @@
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
* image-gen : Generate docker image for esl compilator
* image-repo : Generate docker image for repository sync
* repo : start docker compose and generate repositories
* gen : start docker compose and generarte esl
* all : Do everything
* run-gen : Connect and run bash on instance gen
* run-repo : Connect and run bash on instance repo
* stop : stop all docker image
"
exit
}
DeleteFile() {
echo -n "Delete Dockerfile ... : "
[[ -f ${Wai}/Dockerfile ]] && rm Dockerfile || true
Res $?
}
DockerConnect() {
Inst=$(docker ps|grep $(dirname .)_esl\-$1 | awk '{print $NF}')
docker exec -ti ${Inst} bash
}
DockerStop() {
for DockerRun in $(docker ps|grep $(dirname .)_esl\- | awk '{print $NF}')
do
echo -n "Stop $DockerRun ... :"
docker stop $DockerRun &> /dev/null
Res $?
done
}
DeleteImg () {
DeleteFile
echo -n "Delte old images $1 ... : "
for var in $(docker image ls| grep "esl-$1" | awk '{print $3}'); do yes | docker image rm $var --force; done &> /dev/null
Res $?
}
DockerGen() {
DeleteImg $1
echo -n "generate Dockerfile $1 ... : "
source define.conf
while read line
do
if [[ ! -z $(echo $line | grep '\$') ]]
then
eval echo ${line} | sed "s#\[#\[\'#g" | sed "s#\]#\'\]#g"
else
echo $line
fi
done < Template/Dockerfile.$1 > Dockerfile
Res $?
echo -n "Generate $1 Docker image ... : "
docker build --no-cache . -t esl-$1:${GenVers} 2>&1 | tee /tmp/BuildDocker-${1}.log &> /dev/null
Res $?
echo "
------ Log Compil -----------
/tmp/BuildDocker-${1}.log
-----------------------------
"
}
DockerComposeRun () {
[[ -f ${Wai}/docker-compose.yml ]] && rm -f ${Wai}/docker-compose.yml
[[ "$2" == "Print" ]] && Print="-d" || Print=""
cp ${Wai}/Template/docker-compose.yml.$1 ${Wai}/docker-compose.yml
echo -n "Starting DOCKER $1 ... : "
yes | docker-compose up ${Print} --remove-orphans 2>&1 | tee /tmp/RunDocker-${1}.log &> /dev/null
Res $?
echo "
--------- Log Esl -----------
/tmp/RunDocker-${1}.log
-----------------------------
"
}
GenAll () {
DockerGen gen
DockerGen repo
}