[UPADTE] - readme
This commit is contained in:
parent
b1fb3753ad
commit
0e45064031
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
Dockerfile
|
||||
data/
|
||||
docker-compose.yml
|
||||
|
||||
119
README.md
119
README.md
@ -24,46 +24,97 @@
|
||||
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
### 1./ Build Docker image
|
||||
## Help
|
||||
|
||||
```
|
||||
guillaume@virgile:~/centos79repo/$ ./generate_env.sh image
|
||||
devbase-astierg@[navalgroup-astierg]- ~ : $ /data/DOCKER/centos79repo/generate_env.sh
|
||||
|
||||
/data/DOCKER/centos79repo/generate_env.sh [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
|
||||
|
||||
```
|
||||
|
||||
## Config File
|
||||
|
||||
|
||||
```
|
||||
devbase-astierg@[navalgroup-astierg]- ~ : $ cat /data/DOCKER/centos79repo/define.conf
|
||||
|
||||
#####################################
|
||||
# Repository generator
|
||||
|
||||
# Version of image
|
||||
RepoVers=1
|
||||
# Centos Version
|
||||
CentOsVersion=7.9.2009
|
||||
# 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
|
||||
|
||||
# Version of image
|
||||
GenVers=1
|
||||
# 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
|
||||
```
|
||||
|
||||
## Build Everything.
|
||||
|
||||
```
|
||||
devbase-astierg@[navalgroup-astierg]- ~ : $ time /data/DOCKER/centos79repo/generate_env.sh all
|
||||
Delete Dockerfile ... : OK
|
||||
generate Dockerfile Esl compilator ... : OK
|
||||
Generate compilator Docker image ... : OK
|
||||
Delete Dockerfile ... : OK
|
||||
generate Dockerfile CentOS REPO ... : OK
|
||||
Generate Repo Docker image ... : OK
|
||||
Delte old images gen ... : OK
|
||||
generate Dockerfile gen ... : OK
|
||||
Generate gen Docker image ... : OK
|
||||
|
||||
------ Log Compil -----------
|
||||
/tmp/DockerCompilatorGenerate.log
|
||||
/tmp/DockerRepoGenerate.log
|
||||
/tmp/BuildDocker-gen.log
|
||||
-----------------------------
|
||||
|
||||
Delete Dockerfile ... : OK
|
||||
Delte old images repo ... : OK
|
||||
generate Dockerfile repo ... : OK
|
||||
Generate repo Docker image ... : OK
|
||||
|
||||
------ Log Compil -----------
|
||||
/tmp/BuildDocker-repo.log
|
||||
-----------------------------
|
||||
|
||||
Starting DOCKER repo ... : OK
|
||||
|
||||
--------- Log Esl -----------
|
||||
/tmp/RunDocker-repo.log
|
||||
-----------------------------
|
||||
|
||||
Starting DOCKER gen ... : OK
|
||||
|
||||
--------- Log Esl -----------
|
||||
/tmp/RunDocker-gen.log
|
||||
-----------------------------
|
||||
|
||||
|
||||
real 29m43,812s
|
||||
user 0m3,405s
|
||||
sys 0m0,579s
|
||||
```
|
||||
|
||||
### 2./ Start sync repositories t
|
||||
|
||||
```
|
||||
guillaume@virgile:~/centos79repo$ docker-compose up -d
|
||||
[+] Running 1/1
|
||||
⠿ Container centos79repo-c7repo-1 Started
|
||||
```
|
||||
|
||||
### 3./ Wait ... for a long time :)
|
||||
|
||||
while the process or the docker instance c7repo is/are running the download is running too ...
|
||||
```
|
||||
guillaume@virgile:~/centos79repo$ ps axf | grep sync.sh| grep -v grep
|
||||
936675 ? Ss 0:00 \_ /bin/bash /bin/sync.sh
|
||||
guillaume@virgile:~/centos79repo$ docker ps | grep c7re
|
||||
44b350ff0c9d c7repo "/bin/sync.sh" About a minute ago Up About a minute centos79repo-c7repo-1
|
||||
```
|
||||
|
||||
### 4./ Check the dl
|
||||
|
||||
You have log in ./data/log/ or each repositories (base, epel, extras, updates)
|
||||
|
||||
The Repositories are in ./data/repo/
|
||||
|
||||
|
||||
@ -12,6 +12,6 @@ RUN yum install -y net-snmp
|
||||
|
||||
COPY ./bin/run.sh /bin/run.sh
|
||||
RUN chmod 777 /bin/run.sh
|
||||
#CMD [/bin/run.sh ${Run}]
|
||||
CMD /bin/run.sh ${Run}
|
||||
#CMD [/bin/run.sh ${GenScript}]
|
||||
CMD /bin/run.sh ${GenScript}
|
||||
|
||||
126
Template/function
Executable file
126
Template/function
Executable 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
|
||||
}
|
||||
|
||||
130
generate_env.sh
130
generate_env.sh
@ -1,141 +1,19 @@
|
||||
#!/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
|
||||
* 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
|
||||
|
||||
}
|
||||
|
||||
|
||||
Wai=$(realpath $(dirname $0))
|
||||
|
||||
source ${Wai}/Template/function
|
||||
|
||||
TestEnv realpath
|
||||
TestEnv docker
|
||||
TestEnv tput
|
||||
|
||||
|
||||
|
||||
|
||||
cd ${Wai}
|
||||
|
||||
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 < 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="-d" || Print=""
|
||||
echo -n "Starting DOCKER $1 ... : "
|
||||
yes | 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
|
||||
@ -144,9 +22,9 @@ GenAll () {
|
||||
|
||||
|
||||
|
||||
[[ "${Exec}" == "repo" ]] && DockerComposeRun repo Print
|
||||
[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
|
||||
[[ "${Exec}" == "stop" ]] && DockerStop
|
||||
[[ "${Exec}" == "gen" ]] && DockerComposeRun gen Print
|
||||
[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
|
||||
[[ "${Exec}" == "run-gen" ]] && DockerConnect gen
|
||||
[[ "${Exec}" == "run-repo" ]] && DockerConnect repo
|
||||
|
||||
@ -154,7 +32,7 @@ GenAll () {
|
||||
if [[ "${Exec}" == "all" ]]
|
||||
then
|
||||
GenAll
|
||||
DockerComposeRun repo Print
|
||||
DockerComposeRun repo
|
||||
DockerComposeRun gen Print
|
||||
fi
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user