Distribuzione CI/CD con azioni GitHub e server privati
==============================================================
Architettura di distribuzione
In questa guida tecnica esploreremo l'implementazione di una distribuzione CI/CD utilizzando GitHub Actions e server privati. Questo processo automatizzerà la creazione, il test e la distribuzione delle applicazioni in un ambiente di produzione.
Prerequisiti
Un account GitHub con un repository esistente
Un server privato con accesso SSH
Accesso alla console del server
Conoscenza di base di Git e GitHub Actions
Configurazione delle azioni GitHub
Crea un flusso di lavoro
1. Accedi al tuo account GitHub e vai al tuo repository.
2. Fare clic su
Impostazioni >
Azioni >
Nuovo flusso di lavoro.
3. Seleziona
Crea un nuovo flusso di lavoro da zero.
4. Definisci il nome e la descrizione del tuo flusso di lavoro.
Configurazione del flusso di lavoro
yml
nome: Distribuzione CI/CD
su:
spingere:
rami:
- principale
lavori:
costruire e distribuire:
funziona su: ubuntu-latest
passaggi:
- nome: codice di pagamento
utilizza: azioni/checkout@v2
- nome: installa le dipendenze
esegui: installazione npm
- nome: compila il codice
esegui: npm esegui build
- nome: Test
esegui: npm esegui test
- nome: Distribuzione
utilizza: appleboy/ssh-action@v1
con:
host: ${{ segreti.PRIVATE_SERVER }}
nome utente: ${{ segreti.SERVER_USER }}
chiave privata: ${{ secrets.PRIVATE_KEY }}
sceneggiatura: |
cd /var/www/html
git pull origin principale
installazione npm
npm esegui build
inizio npm
Variabili d'ambiente
PRIVATE_SERVER: indirizzo IP o nome del server privato.
SERVER_USER: Nome utente per accedere al server.
PRIVADA_KEY: Chiave privata per accedere al server.
Configurazione SSH
1. Crea un file di configurazione SSH nel tuo repository con il nome .ssh/config.
2. Aggiungi la seguente configurazione:
"bash."
PRIVATE_SERVER Host
Nome host PRIVATE_SERVER
Utente SERVER_USER
File identità ~/.ssh/PRIVATE_KEY3. Crea un file di chiave privata sul tuo computer locale con il nome "PRIVADA_KEY".
### Configurazione del server privato
#### Installa SSH
1. Connettiti al tuo server privato utilizzando SSH.
2. Installa SSH se non è installato:
"bash."
sudo apt-get update
sudo apt-get install openssh-server
3. Riavvia il servizio SSH:
"bash."
sudo servizio ssh riavviare#### Configurazione dell'accesso SSH
1. Crea un nuovo gruppo utenti sul server:
"bash."
sudo groupaggiungi deploy_group
2. Aggiungi l'utente al gruppo:
"bash."
sudo usermod -aG deploy_group SERVER_USER3. Concedere le autorizzazioni di scrittura al gruppo nella directory di distribuzione:
"bash."
sudo chown -R SERVER_USER:deployment_group /var/www/html
Distribuzione automatizzata
1. Salva le modifiche al tuo flusso di lavoro.
2. Verificare che il flusso di lavoro venga eseguito correttamente.
3. La distribuzione verrà eseguita automaticamente ogni volta che viene effettuato un push al ramo principale.
Sicurezza
Assicurati che la chiave privata sia crittografata con una password.
Limita l'accesso al server tramite IP o gruppo utenti.
Utilizza un token di accesso per la distribuzione.
Problemi comuni
Verificare che la chiave privata sia configurata correttamente nel file .ssh/config.
Assicurati che il server sia configurato per consentire le connessioni SSH.
Verifica che il flusso di lavoro sia configurato correttamente su GitHub.
Riferimenti
Azioni GitHub
SSH
Server privati