138 lines
2.3 KiB
Bash
Executable File
138 lines
2.3 KiB
Bash
Executable File
#!/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
|
||
* image-gen : Generate docker image for esl compilator
|
||
* image-repo : Generate docker image for repository sync
|
||
* 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
|
||
|
||
|
||
|
||
|
||
cd ${Wai}
|
||
|
||
DeleteFile() {
|
||
|
||
echo -n "Delete Dockerfile ... : "
|
||
[[ -f ${Wai}/Dockerfile ]] && rm Dockerfile || true
|
||
Res $?
|
||
|
||
}
|
||
|
||
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 < DockerFile/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 () {
|
||
[[ $2 == "Print" ]] && Print="" || Print="-d"
|
||
echo -n "Starting DOCKER $1 ... : "
|
||
docker-compose -f docker-compose.yml.$1 up ${Print} --remove-orphans 2>&1 | tee /tmp/RunDocker-${1}.log &> /dev/null
|
||
Res $?
|
||
echo "
|
||
--------- Log Esl -----------
|
||
/tmp/RunDocker-${1}.log
|
||
-----------------------------
|
||
"
|
||
}
|
||
|
||
|
||
Exec=$1
|
||
|
||
GenAll () {
|
||
DockerGen gen
|
||
DockerGen repo
|
||
}
|
||
|
||
[[ -z "${Exec}" ]] && help
|
||
[[ "${Exec}" == "image" ]] && GenAll
|
||
[[ "${Exec}" == "image-gen" ]] && DockerGen gen
|
||
[[ "${Exec}" == "image-repo" ]] && DockerGen repo
|
||
|
||
|
||
|
||
|
||
[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
|
||
[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
|
||
|
||
|
||
if [[ "${Exec}" == "all" ]]
|
||
then
|
||
DockerGen
|
||
DockerComposeRun repo Print
|
||
DockerComposeRun gen Print
|
||
fi
|
||
|
||
|