Uso dell'hosting Git remoto

Guarda il video tutorial

Questo scenario può essere utile se si lavora già con un archivio remoto in GitHub (github.com) o BitBucket (bitbucket.org). Le modifiche vengono inviate a questo archivio remoto, quindi Plesk le estrae dall'archivio remoto e le implementa nel sito web.

 

Clonare l'archivio Git

È possibile creare un archivio Git che sarà un clone di un archivio remoto. Vai su Siti web e domini e fai clic su Git. Se sono già stati creati archivi Git per il dominio, fare clic sul pulsante Aggiungi archivio. Viene visualizzata la schermata per la creazione di un nuovo archivio:

Git_remote_create_HTTPS

Innanzitutto è necessario selezionare dove è archiviato il codice. In questo scenario, selezionare Hosting git remoto come GitHub o BitBucket.

Archivio remoto Git. Inserire il percorso dell'archivio remoto in BitBucket o GitHub. È possibile inserirlo in formato HTTPS o SSH. L'autenticazione HTTP/HTTPS non è supportata, quindi puoi utilizzare il protocollo HTTP/HTTPS solo se un archivio non richiede autenticazione. Se si utilizza un archivio Git privato, questo deve essere autenticato tramite una chiave SSH generata da Plesk (per informazioni dettagliate, consulta Usare la connessione SSH).

Nella sezione Il tuo sito web, specificare quanto segue:

  • La modalità di implementazione. Per impostazione predefinita, viene utilizzata l'Implementazione automatica. Ciò significa che tutte le modifiche inserite nell'archivio Git verranno implementate automaticamente nel sito di produzione. Se si desidera cambiare modalità di implementazione, fare clic sul link Implementazione automatica e selezionare un'opzione diversa nella finestra Modalità di implementazione aperta Se si seleziona Implementazione manuale, sarà necessario implementare manualmente i file dall'archivio Git all'hosting. Se si seleziona Nessuna implementazione, i file non vengono implementati nel sito di produzione (ciò può essere utile, ad esempio, per l'archiviazione e lo scambio di codice).

    Git_push_Deployment_mode

  • Una directory di destinazione per la pubblicazione di file Git nel sito web. Per impostazione predefinita, si utilizza la directory /httpdocs. È possibile sostituire questa directory con una directory esistente, facendo clic sul suo nome.

    Git_push_Deployment_path

Fare clic su OK. Plesk cercherà di connettersi all'archivio remoto e di clonarlo.

Progress1

Quando la finestra di dialogo di avanzamento mostra che la clonazione è stata completata correttamente, il nuovo archivio viene visualizzato nella pagina Git.

Progress3

Il nuovo archivio viene visualizzato in Siti web e domini > Git. Il nome dell'archivio remoto viene utilizzato come nome dell'archivio Git. È possibile rinominare l'archivio in un secondo tempo (fare riferimento alla sezione Rinominare o rimuovere un archivio , di seguito).

L'archivio creato è un clone dell'archivio remoto e verrà utilizzato per estrarre le modifiche e implementarle nella directory di destinazione.

Git_remote_created

 

Uso della connessione SSH

Per collegarsi all'archivio Git remoto è possibile utilizzare la connessione SSH. In tal caso, quando si aggiunge un nuovo archivio, occorre specificare l'URL dell'archivio remoto in formato SSH. Viene visualizzato il campo Chiave pubblica SSH, che mostra la chiave pubblica SSH generata automaticamente da Plesk.

Git_pull_create_SSH

Prima di fare clic su OK in questa schermata, è necessario aggiungere la chiave SSH alle impostazioni dell'archivio Git remoto. Per informazioni dettagliate, consultare la documentazione che illustra come aggiungere una chiave SSH per GitHub e BitBucket.

 

Estrarre e implementare file

Una volta eseguito il commit dei file del sito web e averli inseriti nell'archivio remoto, accedere a Siti web e dominie fare clic sul pulsante Estrai aggiornamentiaccanto al nome dell'archivio. Le modifiche dell'archivio remoto verranno applicate all'archivio Git clonato.

Per visualizzare le informazioni sul commit più recente, accedere a Siti web e domini> Git.

Per impostazione predefinita, Plesk utilizza la modalità di Implementazione automatica. Ciò significa che, quando si inserisce un file nell'archivio, il file viene immediatamente distribuito nella directory di destinazione (è possibile disattivare questa modalità se necessario; a tale scopo, consultare la sezione Selezionare la modalità di implementazione ).

Ad esempio, se è stato estratto un file index.htmlcon il testo: "Salve! Benvenuti nel mio sito”, si può fare clic sull'URL del sito web per visualizzare immediatamente le modifiche.

Git_website

 

Cambia ramificazione o percorso

Implementazione da una nuova ramificazione

È una procedura normale lavorare con diverse ramificazioni in un archivio singolo. Solo una ramificazione può essere attiva in un determinato momento. Per impostazione predefinita, per l'implementazione viene utilizzata la ramificazione master.

Per aggiungere una nuova ramificazione, è necessario crearla nell'archivio remoto, quindi estrarre le modifiche. Dopo di che, è possibile selezionare una fra due (o più) ramificazioni attive in Plesk. Accedere a Siti web e domini > Git, fare clic su Cambia ramificazione e percorso, quindi nella finestra visualizzata selezionare il nome della ramificazione nel menu Ramificazione.

Git_remote_new_branch

Dopo aver selezionato una nuova ramificazione e si fa clic su OK, Plesk visualizza la nuova ramificazione attiva.

Git_remote_branch

Cambia il percorso di implementazione

Per impostazione predefinita, per la pubblicazione di file Git nel sito web si utilizza la directory /httpdocs. Se si desidera cambiare il percorso di implementazione, accedere a Siti web e domini > Git, fare clic sul link Cambia ramificazione e percorso e, nella finestra aperta, selezionare la nuova directory.

Git_remote_change_folder

 

Selezionare una modalità di implementazione

È possibile selezionare una modalità di implementazione per l'archivio. Accedere a Siti web e domini > Git, fare clic su Impostazioni archivio e selezionare una delle opzioni in Seleziona modalità di implementazione:

  • Implementazione automatica. Selezionare questa opzione se si desidera che Plesk implementi immediatamente tutte le modifiche al sito di produzione.
  • Implementazione manuale. In questo caso è necessario implementare manualmente i file facendo clic sul pulsante Implementa da archivio in Siti web e domini > Git. È inoltre possibile implementare manualmente i file facendo clic sul pulsante Implementa accanto al nome dell'archivio in Siti web e domini.
  • Nessuna implementazione (hosting di archivio). In questo caso, i file non vengono implementati nel sito di produzione. È possibile utilizzare questa opzione, ad esempio, se si desidera utilizzare l'archivio Git solo per la memorizzazione e lo scambio di codice.

    Git_remote_deploy_mode

 

Webhook per estrazione automatica

Utilizzando i webhook è possibile configurare l'archivio remoto in modo da comunicare a Plesk determinati eventi (ad esempio l'inserimento dei file nell'archivio). Per informazioni dettagliate, fare riferimento alla documentazione relativa alla gestione dei webhook in BitBucket o GitHub.

L'URL di un webhook viene generato automaticamente per un archivio. Per visualizzare l'URL del webhook, fare clic su Impostazioni archivio.

Git_remote_webhook

Copiare l'URL del webhook, aggiungerlo all'archivio remoto e configurarlo in modo che si attivi in caso di inserimenti nell'archivio. Di conseguenza, ogni volta che un file verrà inserito nell'archivio remoto, Plesk riceverà una notifica sull'evento di inserimento e procederà automaticamente all'estrazione dei file, pertanto non sarà necessario fare clic sul pulsante Estrai aggiornamenti. Se l'implementazione automatica è configurata per un archivio, i file estratti verranno implementati direttamente nel sito web.

Nota: se Plesk è protetto mediante un certificato autofirmato, il webhook potrebbe non funzionare se venisse chiamato tramite il protocollo HTTPS, a causa di problemi con l'handshake SSL/TLS. In questo caso, occorrerà specificare il protocollo HTTP nell'URL del webhook.

 

Abilita azioni di implementazione aggiuntive

In molti casi, la pubblicazione di file non è sufficiente per completare l'implementazione di un sito web. Ad esempio, se si utilizza un framework quali Ruby on Rails, può essere necessario eseguire la migrazione dei dati dopo l'implementazione, tramite un comando come questo: bin/rails db:migrate.

Plesk offre la possibilità di definire uno o più comandi aggiuntivi che verranno eseguiti ogni volta che i file vengono implementati nel sito web.

Accedere a Siti web e domini > Git, fare clic su Impostazioni archivio, selezionare Abilita azioni di implementazione aggiuntive e digitare uno o più comandi shell da eseguire ogni volta che vengono implementati contenuti dell'archivio. Inserire ogni comando separato in una nuova riga.

Git_remote_actions

Nota: in Linux, se l'accesso SSH è vietato per l'utente di sistema del dominio, tutti i comandi specificati verranno eseguiti in ambiente chroot. La directory principale dell'utente di sistema dell'abbonamento viene trattata come la radice del file system per tale abbonamento e non può essere eseguito alcun file eseguibile fuori dalla jail di chroot. Ad esempio, se il percorso del sito è /var/www/vhosts/esempio.com/httpdocs, in ambiente chroot diventa ./httpdocs, pertanto non sarà possibile eseguire comandi oltre un unico livello al di sopra della directory /httpdocs.

 

Visualizza registri di commit

Per visualizzare l'intera cronologia di commit per la ramificazione corrente, accedere a Siti web e domini > Git e fare clic sul link Registri di commit. Per ogni commit vengono visualizzate le seguenti informazioni: tempo, identificatore univoco, nome utente e un messaggio di commit. Fare clic su Aggiorna per aggiornare il registro di commit.

Git_remote_commit_log

È possibile filtrare i registri di commit in base a qualsiasi parametro. Ad esempio, si possono trovare tutti i commit eseguiti da un utente specifico a partire da una data particolare. Fare clic sul pulsante Git_Commit_Logs_search_Buttom, inserire i parametri di ricerca, quindi selezionare Cerca.

Git_remote_commit_log_filter

 

Rinominare o rimuovere un archivio

È possibile rinominare un archivio in qualsiasi momento. Ad esempio, se è stata completata l'implementazione, può essere opportuno modificare il nome dell'archivio passando da sito web-dev a sito web, per evitare confusione. Accedere a Siti web e domini > Git, fare clic su Impostazioni archivio e inserire un nuovo nome nel campo Nome archivio.

Se si desidera rimuovere l'archivio, fare clic sul link Rimuovi archivio nella schermata Git. In questo caso, Plesk rimuove soltanto l'archivio; la directory di destinazione con i dati pubblicati viene conservata.