ESL-devenv/Template/function
2021-12-11 11:29:38 +01:00

127 lines
2.4 KiB
Plaintext
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}