Compare commits
4
Commits
e51ff0cf4f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34a5d4177b | ||
|
|
0705b6c0e7 | ||
|
|
042c550443 | ||
|
|
696b28083e |
@@ -27,7 +27,7 @@ La spiegazione per le persone sta in
|
||||
com'è**: `cd` nel percorso vero della cartella su quel PC (quello in cui
|
||||
l'hai scaricata, che conosci solo tu: la pagina per le persone non lo
|
||||
scrive apposta) e `./configura.sh`, in un blocco di codice, per esempio
|
||||
`cd "/c/Users/mario/Work/workspace/oto/_OTO_IT_onboard" && ./configura.sh`.
|
||||
`cd "/c/Users/mario/oto/_OTO_IT_onboard" && ./configura.sh`.
|
||||
Su Windows il percorso va nella forma di Git Bash (`/c/Users/...`), non
|
||||
`C:\...`. Tu lanci tutto il resto: installazioni, `verifica.sh`,
|
||||
`progetti.sh`, i comandi di sola lettura.
|
||||
@@ -39,7 +39,15 @@ La spiegazione per le persone sta in
|
||||
Lo dici e prosegui.
|
||||
5. **Non copiare file da altri PC** e non proporlo: se a un progetto manca un
|
||||
segreto, va messo su AWS SSM da un amministratore.
|
||||
6. **Ogni volta che le chiedi qualcosa, le dici dove lo trova o dove lo
|
||||
6. **Dove scaricare lo chiedi sempre, prima di scaricare.** Questo
|
||||
repository e i progetti vanno nella cartella che sceglie la persona, non
|
||||
in una che decidi tu: non esiste un posto di default (fino al 13/10/2026
|
||||
le istruzioni dicevano `~/Work/workspace/oto`, che era la cartella di chi
|
||||
le ha scritte). Chiedile in quale cartella vuole i progetti, proponendo
|
||||
al massimo un esempio (sotto la sua cartella utente), e usa quella. Se
|
||||
l'ha già scelta per questo repository, chiedile se i progetti vanno
|
||||
accanto a lui, e non darlo per scontato.
|
||||
7. **Ogni volta che le chiedi qualcosa, le dici dove lo trova o dove lo
|
||||
crea.** Non "inserisci la chiave AWS", ma "la crei nella console AWS: il
|
||||
tuo nome in alto a destra → Security credentials → …". Indirizzo, menu e
|
||||
pulsante, con i nomi come li vede sullo schermo (in inglese, se la pagina
|
||||
@@ -99,12 +107,22 @@ spiegala in una riga la prima volta.
|
||||
- **Mac**: prima Homebrew. Il suo installatore chiede la password del Mac,
|
||||
quindi quel comando lo lancia la persona nel Terminale:
|
||||
`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`.
|
||||
Poi tu: `brew install git awscli` e `brew install --cask docker`.
|
||||
**Homebrew non si mette da solo nel `PATH`** (sui Mac Apple Silicon sta
|
||||
in `/opt/homebrew`): senza, in un terminale nuovo `brew` e `aws` non si
|
||||
trovano. Lo aggiungi tu, una volta:
|
||||
`echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile`
|
||||
(su un Mac Intel sta in `/usr/local` e il passo non serve). Poi tu:
|
||||
`eval "$(/opt/homebrew/bin/brew shellenv)" && brew install git awscli`
|
||||
e `brew install --cask docker`. Se un'installazione `--cask` chiede la
|
||||
password del Mac, la lancia la persona nel Terminale. Gli script di
|
||||
questo repository trovano `brew` anche senza il `PATH` sistemato, il
|
||||
terminale della persona no.
|
||||
- Docker Desktop va **aperto una volta** a mano e le condizioni accettate:
|
||||
finché non lo si fa, `docker info` non risponde.
|
||||
2. **Questo repository sul PC**, se ci stai parlando da un link e non da
|
||||
dentro la cartella: `git clone https://git.oto-farm.com/admin/_OTO_IT_onboard.git
|
||||
~/Work/workspace/oto/_OTO_IT_onboard` (è pubblico, non ha segreti) e da lì
|
||||
dentro la cartella. Prima le chiedi dove metterlo (regola 6), poi:
|
||||
`git clone https://git.oto-farm.com/admin/_OTO_IT_onboard.git
|
||||
"<cartella scelta>/_OTO_IT_onboard"` (è pubblico, non ha segreti) e da lì
|
||||
continui.
|
||||
3. **Niente login su AWS né su Gitea nel browser** (deciso il 07/10/2026):
|
||||
le password sono già le definitive e l'MFA di AWS lo attiva chi
|
||||
@@ -131,9 +149,11 @@ spiegala in una riga la prima volta.
|
||||
non va mai tenuta "intanto che funziona": tutto quello che la persona fa
|
||||
su AWS risulterebbe fatto dall'altro.
|
||||
5. **VPN**, solo se su LastPass ha la scheda `OTO > VPN HK nome.cognome` (chiediglielo). Prima
|
||||
installi tu OpenVPN Connect: su Windows
|
||||
`winget install -e --id OpenVPNTechnologies.OpenVPNConnect`, su Mac
|
||||
`brew install --cask openvpn-connect`. Poi lei, un passo alla volta: apre la scheda VPN su LastPass e scarica il file
|
||||
va installato OpenVPN Connect: su Windows lo installi tu,
|
||||
`winget install -e --id OpenVPNTechnologies.OpenVPNConnect`; su Mac
|
||||
`brew install --cask openvpn-connect` chiede la password del Mac (installa
|
||||
un componente di sistema), quindi lo lancia la persona nel Terminale e tu
|
||||
le dai il comando. Poi lei, un passo alla volta: apre la scheda VPN su LastPass e scarica il file
|
||||
`.ovpn` allegato; apre OpenVPN Connect → *Upload File* (o *Import
|
||||
Profile* → *File*) → *Browse* → il file in *Download*; scrive utente e
|
||||
password della VPN dalla stessa scheda, spunta *Save password*, *Connect*.
|
||||
@@ -146,8 +166,11 @@ spiegala in una riga la prima volta.
|
||||
elenco preciso di cosa manca e a chi chiederlo. Controlla anche che git
|
||||
entri su Gitea con il token giusto e che la chiave AWS sia la sua
|
||||
nell'account di OTO, non solo un utente con lo stesso nome.
|
||||
8. **`./progetti.sh`**: scarica i progetti che la persona vede su Gitea (lo
|
||||
lanci tu con i nomi: `./progetti.sh nome1 nome2`). Poi, in ogni progetto:
|
||||
8. **`./progetti.sh`**: scarica i progetti che la persona vede su Gitea.
|
||||
Prima le chiedi in quale cartella (regola 6), poi lo lanci tu con la
|
||||
cartella e i nomi: `./progetti.sh --in "<cartella scelta>" nome1 nome2`.
|
||||
Senza `--in` lo script non scarica niente: un posto di default non c'è
|
||||
apposta. Poi, in ogni progetto:
|
||||
`./start.sh` per i progetti con pannello, `bin/local-init.sh` per Drupal e
|
||||
WordPress. Il resto lo spiega il `CLAUDE.md` di quel progetto.
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ La spiegazione completa è su
|
||||
```bash
|
||||
./configura.sh # chiede quello che serve, una cosa per volta
|
||||
./verifica.sh # dice verde o rosso per ogni accesso
|
||||
./progetti.sh # scarica i progetti a cui hai accesso
|
||||
./progetti.sh # chiede dove, e scarica i progetti a cui hai accesso
|
||||
```
|
||||
|
||||
Si possono rilanciare quante volte si vuole: quello che è già a posto non
|
||||
|
||||
@@ -17,7 +17,6 @@ CHIAVE_SSH="$HOME/.ssh/oto_ed25519"
|
||||
# PRODUCTION_SSH_KEY in project.conf.sh): sono la stessa chiave, perche' sui
|
||||
# server l'amministratore mette quella del profilo Gitea, cioe' questa.
|
||||
CHIAVI_SSH_PROGETTI="$HOME/.ssh/oto_staging_ed25519 $HOME/.ssh/oto_production_ed25519"
|
||||
CARTELLA_PROGETTI="${CARTELLA_PROGETTI:-$HOME/Work/workspace/oto}"
|
||||
|
||||
# I server, con i nomi che usano gli script dei progetti. Staging e la
|
||||
# produzione nuova stanno su rete privata: senza VPN non rispondono. Le
|
||||
@@ -51,6 +50,14 @@ titolo () { echo ; echo "${GRASSETTO}$*${FINE}" ; }
|
||||
|
||||
c_e () { command -v "$1" > /dev/null 2>&1 ; }
|
||||
|
||||
# Su Mac Homebrew non si mette da solo nel PATH: senza, git e aws installati
|
||||
# con brew sembrano mancare anche se ci sono.
|
||||
if ! c_e brew ; then
|
||||
for B in /opt/homebrew/bin/brew /usr/local/bin/brew ; do
|
||||
[ -x "$B" ] && eval "$("$B" shellenv)" && break
|
||||
done
|
||||
fi
|
||||
|
||||
token_gitea () {
|
||||
[ -s "$TOKEN_GITEA_FILE" ] && tr -d '[:space:]' < "$TOKEN_GITEA_FILE"
|
||||
}
|
||||
|
||||
+39
-5
@@ -2,11 +2,14 @@
|
||||
#
|
||||
# SCARICA I PROGETTI A CUI HAI ACCESSO SU GITEA.
|
||||
#
|
||||
# ./progetti.sh # elenca e chiede quali scaricare
|
||||
# ./progetti.sh nome1 nome2 # scarica questi
|
||||
# ./progetti.sh # chiede dove e quali scaricare
|
||||
# ./progetti.sh --in CARTELLA nome1 nome2 # scarica questi in CARTELLA
|
||||
#
|
||||
# Li mette in $CARTELLA_PROGETTI (di solito ~/Work/workspace/oto). Un progetto
|
||||
# gia' scaricato non si tocca. Vedi solo i repository che l'amministratore ti
|
||||
# La cartella la sceglie la persona, ogni volta: non c'e' un posto di default
|
||||
# (fino al 13/10/2026 era ~/Work/workspace/oto, cioe' la cartella di chi ha
|
||||
# scritto lo script). Si passa con --in o con CARTELLA_PROGETTI; senza, lo
|
||||
# script la chiede, e se non puo' chiederla si ferma. Un progetto gia'
|
||||
# scaricato non si tocca. Vedi solo i repository che l'amministratore ti
|
||||
# ha dato: se ne manca uno, e' da chiedere a lui.
|
||||
# Esce 1 se un progetto chiesto non e' stato scaricato.
|
||||
|
||||
@@ -14,6 +17,34 @@ set -u
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
. ./comune.sh
|
||||
|
||||
if [ "${1:-}" = "--in" ] ; then
|
||||
if [ -z "${2:-}" ] ; then
|
||||
male "--in vuole una cartella: ./progetti.sh --in CARTELLA nome1 nome2"
|
||||
exit 1
|
||||
fi
|
||||
CARTELLA_PROGETTI="$2"
|
||||
shift 2
|
||||
fi
|
||||
CARTELLA_PROGETTI="${CARTELLA_PROGETTI:-}"
|
||||
if [ -z "$CARTELLA_PROGETTI" ] ; then
|
||||
if [ ! -t 0 ] ; then
|
||||
male "manca la cartella in cui scaricare: ./progetti.sh --in CARTELLA nome1 nome2"
|
||||
exit 1
|
||||
fi
|
||||
read -r -p "In quale cartella scarico i progetti? " CARTELLA_PROGETTI
|
||||
if [ -z "$CARTELLA_PROGETTI" ] ; then
|
||||
male "nessuna cartella scelta: non scarico niente"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
# La tilde fra virgolette la shell non la espande, e su Windows la persona
|
||||
# puo' scrivere C:\Users\...: in Git Bash cygpath la porta nella forma /c/...
|
||||
case "$CARTELLA_PROGETTI" in
|
||||
"~") CARTELLA_PROGETTI="$HOME" ;;
|
||||
"~/"*) CARTELLA_PROGETTI="$HOME/${CARTELLA_PROGETTI#\~/}" ;;
|
||||
esac
|
||||
c_e cygpath && CARTELLA_PROGETTI="$(cygpath -u "$CARTELLA_PROGETTI")"
|
||||
|
||||
if [ -z "$(token_gitea)" ] ; then
|
||||
male "token Gitea mancante: lancia prima ./configura.sh"
|
||||
exit 1
|
||||
@@ -76,7 +107,10 @@ else
|
||||
fi
|
||||
|
||||
ERRORI=0
|
||||
mkdir -p "$CARTELLA_PROGETTI"
|
||||
if ! mkdir -p "$CARTELLA_PROGETTI" ; then
|
||||
male "non riesco a creare $CARTELLA_PROGETTI"
|
||||
exit 1
|
||||
fi
|
||||
titolo "Scarico in $CARTELLA_PROGETTI"
|
||||
for NOME in $SCELTI ; do
|
||||
# Confronto esatto, non una regex: il nome lo scrive la persona.
|
||||
|
||||
Reference in New Issue
Block a user