2024-01-11 11:49:33 +00:00
|
|
|
#!/bin/zsh
|
|
|
|
set -e
|
|
|
|
|
|
|
|
branch=${PLUGIN_BRANCH:-"pages"}
|
|
|
|
token_env=${PLUGIN_TOKEN_ENV}
|
|
|
|
output=${PLUGIN_OUTPUT}
|
|
|
|
name=${PLUGIN_NAME}
|
|
|
|
email=${PLUGIN_EMAIL}
|
2024-01-14 18:23:33 +00:00
|
|
|
|
|
|
|
# Allow passing a different push SSH URL
|
|
|
|
clone_url=$CI_REPO_CLONE_SSH_URL
|
|
|
|
if [[ -n "$PLUGIN_SSH_URL" ]]; then
|
|
|
|
clone_url=${PLUGIN_SSH_URL}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ -z "$token_env" || -z "$branch" || -z "$name" || -z "$email" || -z "$clone_url" ]]; then
|
|
|
|
echo "Invalid configuration: Token environment variable name, branch name empty, name, clone URL, or email"
|
|
|
|
echo "Token env: $token_env"
|
|
|
|
echo "branch: $branch"
|
|
|
|
echo "Name: $name"
|
|
|
|
echo "Email: $email"
|
|
|
|
echo "Clone URL: $clone_url"
|
2024-01-11 11:49:33 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Setup the SSH directory
|
|
|
|
mkdir -p ~/.ssh
|
|
|
|
chown root:root ~/.ssh
|
|
|
|
chmod 700 ~/.ssh
|
|
|
|
|
|
|
|
# Setup the SSH key
|
|
|
|
print -rl -- ${(P)token_env} > ~/.ssh/id_rsa
|
|
|
|
chown root:root ~/.ssh/id_rsa
|
|
|
|
chmod 600 ~/.ssh/id_rsa
|
|
|
|
|
|
|
|
# Setup git
|
|
|
|
git config --global user.email "$email"
|
|
|
|
git config --global user.name "$name"
|
|
|
|
git config --global --add safe.directory "$CI_WORKSPACE/$CI_REPO_OWNER/$CI_REPO_NAME/$output"
|
|
|
|
|
|
|
|
# Init a new repository in the output directory and add all files
|
|
|
|
git init -b "$branch" "$output"
|
|
|
|
cd "$output"
|
|
|
|
git add --all
|
|
|
|
git commit -m "Deploy new version $CI_COMMIT_SHA"
|
|
|
|
|
|
|
|
# Push the repository
|
2024-01-14 18:23:33 +00:00
|
|
|
git push -u "$clone_url" -f "$branch"
|