Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e99de9cdff | |||
| 61ff6ac0b5 | |||
| 660c9d13ff | |||
| 7129a0849a |
6
.env
6
.env
@ -2,12 +2,12 @@
|
||||
# Repository generator
|
||||
|
||||
# Version of image
|
||||
RepoVers=1
|
||||
RepoVers=2
|
||||
# Centos Version
|
||||
#CentOsVersion=centos:7.9.2009
|
||||
CentOsVersion=oraclelinux:8.6
|
||||
CentOsVersion=oraclelinux:8.7
|
||||
Cible=oraclelinux
|
||||
VersionCible=8.6
|
||||
VersionCible=8.7
|
||||
PackageManager=dnf
|
||||
# Sync repo script
|
||||
Run=/usr/local/bin/sync.sh
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,4 +2,5 @@ Dockerfile
|
||||
data/
|
||||
docker-compose.yml
|
||||
cible
|
||||
images
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ RUN ${PackageManager} install screen -y
|
||||
#COPY ./bin/repo.sh /usr/local/bin/repo.sh
|
||||
COPY ./bin/ /usr/local/bin/
|
||||
#RUN chmod 755 /usr/local/bin/repo.sh
|
||||
RUN chmod 755 /usr/local/bin/*
|
||||
RUN chmod -R 755 /usr/local/bin/
|
||||
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
||||
#RUN chmod 755 /usr/local/bin/empty.sh
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ RUN ${PackageManager} install screen -y
|
||||
RUN echo COPY
|
||||
COPY ./bin/ /usr/local/bin/
|
||||
#RUN chmod 755 /usr/local/bin/repo.sh
|
||||
RUN chmod 755 /usr/local/bin/*
|
||||
RUN chmod -R 755 /usr/local/bin/
|
||||
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
||||
#RUN chmod 755 /usr/local/bin/empty.sh
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#!/bin/bash
|
||||
TestEnv() {
|
||||
|
||||
Check=$(which $1 2> /dev/null)
|
||||
@ -34,7 +35,7 @@ LinkESL() {
|
||||
|
||||
help () {
|
||||
echo "
|
||||
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen]
|
||||
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen/import-image/save-image]
|
||||
|
||||
* $(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
|
||||
@ -43,6 +44,8 @@ $0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen]
|
||||
* $(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
|
||||
* $(tput setaf 6)import-image $(tput sgr0): Import last backuped docker image in ./images/
|
||||
* $(tput setaf 6)save-image $(tput sgr0): backup docker image in ./images/
|
||||
|
||||
"
|
||||
exit
|
||||
@ -147,6 +150,36 @@ DockerComposeRun () {
|
||||
}
|
||||
|
||||
|
||||
DockerSave () {
|
||||
|
||||
for Image in $(docker image ls | grep -E "^esl-repo|^esl-gen" | awk '{print $1":"$2}')
|
||||
do
|
||||
EslImage=$(echo $Image | cut -d":" -f1)
|
||||
EslImageVersion=$(echo $Image | cut -d":" -f2)
|
||||
echo -ne "Save $Image : "
|
||||
docker save $Image | gzip > $(dirname $0)/images/${EslImageVersion}-$(date +%Y%m%d)_$(echo $Image | sed 's/:/-/g').gz
|
||||
[[ "$?" -eq 0 ]] && echo OK || echo FAILED
|
||||
done
|
||||
|
||||
}
|
||||
DockerImport () {
|
||||
|
||||
if [[ $(ls -1 images | grep "esl-"| wc -l) -eq 0 ]]
|
||||
then
|
||||
echo "Nothing todo ..."
|
||||
else
|
||||
for Type in repo gen
|
||||
do
|
||||
GetImage=$(ls -1 images | grep $Type |sort -r -n -t"-" -k1,2 | head -n1)
|
||||
echo -ne "Import $GetImage : "
|
||||
zcat images/$GetImage | docker load &> /dev/null
|
||||
[[ "$?" -eq 0 ]] && echo OK || echo FAILED
|
||||
done
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#GenAll () {
|
||||
# DockerGen gen
|
||||
|
||||
10
bin/esl.fct
10
bin/esl.fct
@ -25,6 +25,14 @@ RunScreen (){
|
||||
|
||||
}
|
||||
|
||||
|
||||
LinkEpel() {
|
||||
|
||||
[[ ! -L $2 ]] && ln -s ol${Majeur}_developer_EPEL x86_64
|
||||
|
||||
|
||||
}
|
||||
|
||||
function oraclelinux () {
|
||||
|
||||
Rand=repo${RANDOM}
|
||||
@ -36,7 +44,7 @@ function oraclelinux () {
|
||||
RunScreen EPEL dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/EPEL/ol${Majeur} --download-metadata --repoid=ol${Majeur}_developer_EPEL
|
||||
Download /data/repo/EPEL/ EPEL
|
||||
Action "Get in ${osversion} EPEL" cd /data/repo/EPEL/ol${Majeur}
|
||||
Action "Link SeaNaps environement EPEL" ln -s ol${Majeur}_developer_EPEL x86_64
|
||||
Action "Link SeaNaps environement EPEL" LinkEpel ol${Majeur}_developer_EPEL x86_64
|
||||
|
||||
|
||||
|
||||
|
||||
80
create-tag-repo.sh
Executable file
80
create-tag-repo.sh
Executable file
@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Print help and exit
|
||||
usage(){
|
||||
echo "-- $0 --"
|
||||
echo "Freeze package environement in distributions. Create a 'fake' repository with real repodata but symbolic link of rpms"
|
||||
echo "$0 OrigDir/repmod.xml BaseRepoDir DestDistributionBasenaemeDir"
|
||||
exit
|
||||
}
|
||||
|
||||
# Print the first arguement, execute the rest of the arguements and print the result OK/FAILED
|
||||
action(){
|
||||
echo -ne "${1} : "
|
||||
shift
|
||||
$@ &> /tmp/aaa
|
||||
[[ $? -eq 0 ]] && echo -e '\033[0;32mOK\033[0m' || echo -e '\033[0;31mFAILED\033[0m'
|
||||
}
|
||||
|
||||
# Create tree structure of the repository in the destination directory
|
||||
CreateEnv(){
|
||||
CptErr=0
|
||||
[[ ! -d ${DirDest} ]] && mkdir -p ${DirDest} || true
|
||||
CptErr=$((CptErr + $?))
|
||||
for Dir in $(find -L $OrigBaseRepo -type d| sed "s#${OrigBaseRepo}##g")
|
||||
do
|
||||
[[ ! -d ${DirDest}/${Dir} ]] && mkdir -p ${DirDest}/${Dir} || true
|
||||
CptErr=$((CptErr + $?))
|
||||
done
|
||||
|
||||
CptErr=$((CptErr + $?))
|
||||
return $CptErr
|
||||
}
|
||||
|
||||
# for each rpm in the (get)Package directory, create a symbolic link in the destination directory
|
||||
RpmLink(){
|
||||
CptErr=0
|
||||
for Rpm in $(find -L $OrigBaseRepo -type f -name "*.rpm" | sed "s#${OrigBaseRepo}##g")
|
||||
do
|
||||
[[ ! -L ${DirDest}/${Rpm} ]] && ln -s ${OrigBaseRepo}${Rpm} ${DirDest}/${Rpm} || true
|
||||
CptErr=$((CptErr + $?))
|
||||
done
|
||||
return $CptErr
|
||||
}
|
||||
|
||||
# Copy repodata files in the destination directory
|
||||
RepoModCopy(){
|
||||
cp -vf $(dirname ${RepModFile})/* $(dirname $(echo ${RepModFile}| sed "s#${BaseDirDestRepo}#${DestDir}#g"))/.
|
||||
CptErr=$((CptErr + $?))
|
||||
return $?
|
||||
}
|
||||
|
||||
# Check all arguments and create variable environement for readability
|
||||
CheckArg(){
|
||||
[[ ! -f ${1} ]] && usage
|
||||
RepModFile=${1}
|
||||
[[ ! -d ${2} ]] && usage
|
||||
BaseDirDestRepo=${2}
|
||||
DestDir=${3}/distributions/
|
||||
DirDest=$(echo $(dirname $(dirname ${RepModFile})) | sed "s#${BaseDirDestRepo}#${DestDir}#g")
|
||||
OrigBaseRepo=$(echo $(dirname $(dirname ${RepModFile})))
|
||||
}
|
||||
|
||||
|
||||
# Main
|
||||
|
||||
CheckArg ${1} ${2} ${3}
|
||||
echo "
|
||||
###############################################
|
||||
RepModFile = ${1}
|
||||
BaseDirDestRepo = ${2}
|
||||
DestDir = ${3}
|
||||
###############################################"
|
||||
|
||||
# Execute
|
||||
|
||||
action "Create dest environement" CreateEnv ${RepModFile} ${BaseDirDestRepo} ${DestDir}
|
||||
action "Link Rpm" RpmLink ${RepModFile} ${BaseDirDestRepo} ${DestDir}
|
||||
action "Copy repo data" RepoModCopy ${RepModFile} ${BaseDirDestRepo} ${DestDir}
|
||||
|
||||
|
||||
@ -15,16 +15,35 @@ cd ${Wai}
|
||||
Exec=$1
|
||||
|
||||
[[ -z "${Exec}" ]] && help
|
||||
[[ "${Exec}" == "image" ]] && GenAll
|
||||
[[ "${Exec}" == "image-gen" ]] && DockerGen gen
|
||||
[[ "${Exec}" == "image-repo" ]] && DockerGen repo
|
||||
[[ "${Exec}" == "link" ]] && LinkESL
|
||||
[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
|
||||
[[ "${Exec}" == "stop" ]] && DockerStop
|
||||
[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
|
||||
[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2
|
||||
[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2
|
||||
[[ "${Exec}" == "ps" ]] && DockerPs
|
||||
#[[ "${Exec}" == "image" ]] && GenAll
|
||||
#[[ "${Exec}" == "image-gen" ]] && DockerGen gen
|
||||
#[[ "${Exec}" == "image-repo" ]] && DockerGen repo
|
||||
#[[ "${Exec}" == "link" ]] && LinkESL
|
||||
#[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
|
||||
#[[ "${Exec}" == "stop" ]] && DockerStop
|
||||
#[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
|
||||
#[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2
|
||||
#[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2
|
||||
#[[ "${Exec}" == "import-image" ]] && DockerImport
|
||||
#[[ "${Exec}" == "save-image" ]] && DockerSave
|
||||
#
|
||||
case $Exec in
|
||||
image-gen) DockerGen gen;;
|
||||
image-repo) DockerGen repo;;
|
||||
repo) DockerComposeRun repo;;
|
||||
stop) DockerStop;;
|
||||
gen) DockerComposeRun gen ;;
|
||||
link) LinkESL;;
|
||||
run-gen) DockerConnect gen $2;;
|
||||
run-repo) DockerConnect repo $2;;
|
||||
import-image) DockerImport;;
|
||||
save-image) DockerSave;;
|
||||
*) help
|
||||
esac
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if [[ "${Exec}" == "all" ]]
|
||||
|
||||
0
images/.gitkeep
Normal file
0
images/.gitkeep
Normal file
Loading…
x
Reference in New Issue
Block a user