156 lines
3.7 KiB
Plaintext
Executable File
156 lines
3.7 KiB
Plaintext
Executable File
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
|
||
|
||
}
|
||
|
||
|
||
LinkESL() {
|
||
|
||
while [[ ! -d ${DirLink} ]]
|
||
do
|
||
read -p "Absolute path of ESL Programe or ESL Product : " DirLink
|
||
done
|
||
[[ -L $(dirname $0)/cible ]] && rm -f $(dirname $0)/cible &> /dev/null
|
||
echo -n "ESL symbolic link : "
|
||
ln -s ${DirLink} $(dirname $0)/cible &> /dev/null && echo OK || echo FAILED
|
||
}
|
||
|
||
help () {
|
||
echo "
|
||
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen]
|
||
|
||
* $(tput setaf 3)image-gen $(tput sgr0): Generate docker image for esl compilator
|
||
* $(tput setaf 3)image-repo $(tput sgr0): Generate docker image for repository sync
|
||
* $(tput setaf 5)link $(tput sgr0): Create symbolic link to ESL Programe or Porduct
|
||
* $(tput setaf 4)repo $(tput sgr0): start docker compose and generate repositories
|
||
* $(tput setaf 4)gen $(tput sgr0): start docker compose and generarte esl
|
||
* $(tput setaf 2)run-gen $(tput sgr0): Connect and run bash on instance gen
|
||
* $(tput setaf 2)run-repo $(tput sgr0): Connect and run bash on instance repo
|
||
|
||
"
|
||
exit
|
||
|
||
}
|
||
|
||
|
||
|
||
DeleteFile() {
|
||
|
||
echo -n "Delete Dockerfile ... : "
|
||
[[ -f ${Wai}/Dockerfile ]] && rm Dockerfile || true
|
||
Res $?
|
||
|
||
|
||
}
|
||
|
||
DockerConnect() {
|
||
|
||
User=esl
|
||
[[ "$2" == "root" ]] && User='root'
|
||
Inst=$(docker ps|grep "esl-$1" | awk '{print $NF}')
|
||
[[ -L $(realpath $(dirname $0))/cible ]] && Cible="-v $(realpath $(dirname $0))/cible:/data/cible"
|
||
[[ -z "${Inst}" ]] && docker run -ti -v $(realpath $(dirname $0))/data:/data -v $(realpath $(dirname $0))/data/log:/log ${Cible} --hostname $1 -u ${User} esl\-${1}:2 bash || docker exec -ti -u $User ${Inst} bash
|
||
|
||
}
|
||
DockerPs() {
|
||
|
||
docker ps|grep $(dirname .)_esl\-$1 | awk '{print $NF}'
|
||
|
||
}
|
||
|
||
|
||
|
||
DockerStop() {
|
||
for DockerRun in $(docker ps|grep 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 $Cible... : "
|
||
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}.${Cible} > 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 () {
|
||
echo "
|
||
------ Log Compil -----------
|
||
/tmp/GetRepo-${1}.log
|
||
-----------------------------
|
||
"
|
||
|
||
|
||
|
||
[[ -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 "Log is : log/${1} - use tail -f ./log/$1"
|
||
[[ -L $(realpath $(dirname $0))/cible ]] && Cible="-v $(realpath $(dirname $0))/cible:/data/cible"
|
||
docker run -ti -v $(realpath $(dirname $0))/data:/data -v $(realpath $(dirname $0))/data/log:/tmp/log ${Cible} -u esl --hostname $1 esl\-${1}:2 /usr/local/bin/${1}.sh
|
||
#yes | docker-compose up ${Print} --remove-orphans 1>&1 | tee /tmp/RunDocker-${1}.log &> /dev/null
|
||
##yes | docker-compose up ${Print} --remove-orphans
|
||
Res $?
|
||
echo "
|
||
--------- Log Esl -----------
|
||
/tmp/RunDocker-${1}.log
|
||
-----------------------------
|
||
"
|
||
}
|
||
|
||
|
||
|
||
#GenAll () {
|
||
# DockerGen gen
|
||
# DockerGen repo
|
||
#}
|
||
|