added init scripts for assets and programm
parent
85dc5052b9
commit
9178dcf1de
|
|
@ -5,6 +5,10 @@ RUN apk --no-cache add git openssh-client bash nano gettext
|
|||
COPY --from=build /usr/local/bin/webhook /usr/local/bin/webhook
|
||||
COPY hooks.json.tmpl /etc/webhook/hooks.json.tmpl
|
||||
COPY entrypoint.sh /etc/webhook/entrypoint.sh
|
||||
COPY assets-hook.sh /etc/webhook/assets-hook.sh
|
||||
COPY assets-init.sh /etc/webhook/assets-init.sh
|
||||
COPY programm-hook.sh /etc/webhook/programm-hook.sh
|
||||
COPY programm-init.sh /etc/webhook/programm-init.sh
|
||||
RUN chmod +x /etc/webhook/entrypoint.sh
|
||||
WORKDIR /etc/webhook
|
||||
EXPOSE 9000
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Initialize assets folder from repository
|
||||
#
|
||||
# - delete existing assets folder
|
||||
# - fetch assets/main from repository
|
||||
#
|
||||
|
||||
BRANCHES_FOLDER="/html/branches"
|
||||
ASSETS_FOLDER="/html/branches/assets"
|
||||
ASSETS_REPOSITORY="git_assets:AG-IT/assets.git"
|
||||
ASSETS_BRANCH="main"
|
||||
|
||||
#
|
||||
# Remove assets folder if exists
|
||||
#
|
||||
|
||||
if [ -d "$ASSETS_FOLDER" ];
|
||||
then
|
||||
echo "Removing existing assets folder: $ASSETS_FOLDER"
|
||||
rm -R "$ASSETS_FOLDER"
|
||||
fi
|
||||
|
||||
#
|
||||
# Create branches folder if not exist
|
||||
#
|
||||
|
||||
if [ ! -d "$BRANCHES_FOLDER" ];
|
||||
then
|
||||
echo "Create branches folder: $BRANCES_FOLDER"
|
||||
mkdir -p "$BRANCHES_FOLDER"
|
||||
fi
|
||||
|
||||
#
|
||||
# Clone assets folder from repository
|
||||
#
|
||||
git clone --depth 1 --branch "$ASSETS_BRANCH" --single-branch "$ASSETS_REPOSITORY" "$ASSETS_FOLDER"
|
||||
|
|
@ -81,6 +81,26 @@ fi
|
|||
# Create or append known_hosts
|
||||
ssh-keyscan -H "${GIT_SERVER}" >> "${path_ssh}/known_hosts"
|
||||
|
||||
echo "git and ssh configured."
|
||||
echo "Programm webhook public key (deploy key):"
|
||||
echo "|------------------------------------------------------------------|"
|
||||
cat "${path_ssh}/programm-webhook.deploy.25519.pub"
|
||||
echo "|------------------------------------------------------------------|"
|
||||
echo "Assets webhook public key (deploy key):"
|
||||
echo "|------------------------------------------------------------------|"
|
||||
cat "${path_ssh}/assets-webhook.deploy.25519.pub"
|
||||
echo "|------------------------------------------------------------------|"
|
||||
|
||||
# Initialize assets
|
||||
|
||||
echo "Initialize assets directory"
|
||||
./assets-init.sh
|
||||
|
||||
# Initialize branches
|
||||
|
||||
echo "Initialize branches of programm"
|
||||
./programm-init.sh
|
||||
|
||||
#
|
||||
# Start webhooks
|
||||
#
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Initialize assets folder from repository
|
||||
#
|
||||
# - delete existing assets folder
|
||||
# - fetch assets/main from repository
|
||||
#
|
||||
|
||||
HTML_HOME="/html"
|
||||
BRANCHES_FOLDER="/html/branches"
|
||||
PROGRAMM_REPOSITORY="git_programm:AG-Programm/parteiprogramm.git"
|
||||
|
||||
#
|
||||
# Remove all branch folders but assets
|
||||
#
|
||||
|
||||
for dir in "$BRANCHES_FOLDER"/*/;
|
||||
do
|
||||
dir_name=$(basename "$dir")
|
||||
|
||||
if [ "$dir_name" != "assets" ];
|
||||
then
|
||||
echo "Deleting directory: $dir"
|
||||
rm -rf "$dir"
|
||||
fi
|
||||
done
|
||||
|
||||
#
|
||||
# Fetch all branch names
|
||||
#
|
||||
git ls-remote --heads "$PROGRAMM_REPOSITORY" |
|
||||
# Extract branch names
|
||||
awk '{print $2}' |
|
||||
# Remove "refs/heads/" prefix to get only branch names
|
||||
sed 's#refs/heads/##' |
|
||||
# Store branch names in an array
|
||||
mapfile -t branches
|
||||
|
||||
for branch in "${branches[@]}";
|
||||
do
|
||||
git clone --depth 1 --branch "$branch" --single-branch "$PROGRAMM_REPOSITORY" "$BRANCHES_FOLDER"/"$branch"
|
||||
done
|
||||
Loading…
Reference in New Issue