62 lines
1.8 KiB
Bash
62 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# --- Configurazione ---
|
|
REPO_NAME="crystalsrl.com"
|
|
REPO_ORG="mktg"
|
|
GIT_HOST="git.cod3.it"
|
|
|
|
GIT_EMAIL="alberto@strazzabosco.com"
|
|
GIT_USER="albertuan"
|
|
GCP_PROJECT="cod3it"
|
|
|
|
# Controlla se siamo nella home directory dell'utente alberto
|
|
if [[ "$HOME" != "/home/alberto" || "$PWD" != "/home/alberto" ]]; then
|
|
echo "ERRORE: Lo script deve essere eseguito dalla directory /home/alberto"
|
|
exit 1
|
|
fi
|
|
|
|
# Verifica se l'utente è autenticato su gcloud
|
|
if [[ -z $(gcloud auth list --filter=status:ACTIVE --format="value(account)" 2>/dev/null) ]]; then
|
|
echo "ERRORE: Nessun account gcloud attivo trovato. Esegui 'gcloud auth login' per continuare."
|
|
exit 1
|
|
fi
|
|
|
|
# Crea la directory .ssh se non esiste
|
|
mkdir -p .ssh
|
|
|
|
# Recupera la chiave privata
|
|
echo "Recupero della chiave privata..."
|
|
gcloud secrets versions access latest \
|
|
--secret="ssh-bitbucket-albertuan-private" \
|
|
--out-file=".ssh/id_rsa" \
|
|
--project "$GCP_PROJECT"
|
|
|
|
# Recupera la chiave pubblica
|
|
echo "Recupero della chiave pubblica..."
|
|
gcloud secrets versions access latest \
|
|
--secret="ssh-bitbucket-albertuan-public" \
|
|
--out-file=".ssh/id_rsa.pub" \
|
|
--project "$GCP_PROJECT"
|
|
|
|
# Imposta i permessi corretti
|
|
echo "Impostazione dei permessi..."
|
|
chmod 400 .ssh/id_rsa*
|
|
|
|
# Aggiunge il server ai known hosts
|
|
echo "Aggiunta di $GIT_HOST ai known hosts..."
|
|
ssh-keyscan "$GIT_HOST" >> .ssh/known_hosts
|
|
|
|
# Clona il repository
|
|
echo "Clonazione del repository..."
|
|
git clone "git@$GIT_HOST:$REPO_ORG/$REPO_NAME.git"
|
|
|
|
# Sposta nella directory del repository
|
|
echo "Spostamento nella directory del repository..."
|
|
cd "$REPO_NAME" || exit 1
|
|
|
|
# Configura Git globalmente
|
|
echo "Configurazione Git..."
|
|
git config --global user.email "$GIT_EMAIL"
|
|
git config --global user.name "$GIT_USER"
|
|
|
|
echo "Operazioni completate con successo!" |