GitHub Connessioni Enterprise Server - AWS CodePipeline

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

GitHub Connessioni Enterprise Server

Le connessioni consentono di autorizzare e stabilire configurazioni che associano il provider di terze parti alle risorse. AWS Per associare il repository di terze parti come fonte per la pipeline, si utilizza una connessione.

Nota

Questa funzionalità non è disponibile nelle regioni Asia Pacifico (Hong Kong), Asia Pacifico (Hyderabad), Asia Pacifico (Giacarta), Asia Pacifico (Melbourne), Asia Pacifico (Osaka), Africa (Città del Capo), Medio Oriente (Bahrein), Medio Oriente (UAE), Europa (Spagna), Europa (Zurigo), Israele (Tel Aviv) o AWS GovCloud (Stati Uniti occidentali). Per fare riferimento ad altre azioni disponibili, consulta. Integrazioni di prodotti e servizi con CodePipeline Per considerazioni su questa azione nella regione Europa (Milano), si veda la nota inCodeStarSourceConnection per Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com e GitLab azioni autogestite.

Per aggiungere un'azione di origine di GitHub Enterprise Server in CodePipeline, è possibile scegliere tra:

Nota

Puoi anche creare una connessione utilizzando la console Developer Tools in Impostazioni. Vedi Creare una connessione.

Prima di iniziare:

  • È necessario aver creato un account con GitHub Enterprise Server e installato l'istanza di GitHub Enterprise Server sull'infrastruttura.

    Nota

    Ciascuno VPC può essere associato a un solo host (istanza GitHub Enterprise Server) alla volta.

  • È necessario aver già creato un repository di codice con GitHub Enterprise Server.

Creare una connessione a GitHub Enterprise Server (console)

Segui questi passaggi per utilizzare la CodePipeline console per aggiungere un'azione di connessione per il tuo repository GitHub Enterprise Server.

Nota

GitHub Le connessioni Enterprise Server forniscono l'accesso solo ai repository di proprietà dell'account GitHub Enterprise Server utilizzato per creare la connessione.

Prima di iniziare:

Per una connessione host a GitHub Enterprise Server, è necessario aver completato i passaggi per creare una risorsa host per la connessione. Vedere Gestire gli host per le connessioni.

Passaggio 1: crea o modifica la tua pipeline

Per creare o modificare la tua pipeline
  1. Accedi alla CodePipeline console.

  2. Scegliere una delle seguenti opzioni.

    • Scegli di creare una pipeline. Segui i passaggi descritti in Crea una pipeline per completare la prima schermata e scegli Avanti. Nella pagina Sorgente, in Provider di origine, scegli GitHub Enterprise Server.

    • Scegliete di modificare una pipeline esistente. Scegliete Modifica, quindi scegliete Modifica fase. Scegli di aggiungere o modificare l'azione sorgente. Nella pagina Modifica azione, in Nome azione, inserisci il nome dell'azione. In Action provider, scegli GitHub Enterprise Server.

  3. Esegui una di queste operazioni:

    • In Connessione, se non hai già creato una connessione al tuo provider, scegli Connetti a GitHub Enterprise Server. Procedi al passaggio 2: creazione di una connessione a GitHub Enterprise Server.

    • In Connessione, se hai già creato una connessione al tuo provider, scegli la connessione. Procedi al passaggio 3: Salva l'azione di origine per la tua connessione.

Creare una connessione a GitHub Enterprise Server

Dopo aver scelto di creare la connessione, viene visualizzata la pagina Connect to GitHub Enterprise Server.

Importante

AWS CodeConnections non supporta la versione 2.22.0 di GitHub Enterprise Server a causa di un problema noto nella versione. Per connetterti, esegui l'aggiornamento alla versione 2.22.1 o all'ultima versione disponibile.

Per connettersi a Enterprise Server GitHub
  1. In Connection Name (Nome connessione), immetti un nome per la connessione.

  2. In URL, inserisci l'endpoint del tuo server.

    Nota

    Se quello fornito URL è già stato utilizzato per configurare un GitHub Enterprise Server per una connessione, ti verrà richiesto di scegliere la risorsa host creata in precedenza per ARN quell'endpoint.

  3. Se hai avviato il tuo server su Amazon VPC e desideri connetterti con il tuoVPC, scegli Usa a VPC e completa quanto segue.

    1. In VPCID, scegli il tuo VPC ID. Assicurati di scegliere l'opzione VPC per l'infrastruttura in cui è installata l'istanza di GitHub Enterprise Server o una VPC con accesso all'istanza GitHub Enterprise Server tramite VPN Direct Connect.

    2. In Subnet ID (ID sottorete), scegliere Add (Aggiungi). Nel campo, selezionare l'ID della sottorete che si desidera utilizzare per l'host. È possibile scegliere fino a 10 sottoreti.

      Assicurati di scegliere la sottorete per l'infrastruttura in cui è installata l'istanza di GitHub Enterprise Server o una sottorete con accesso all'istanza GitHub Enterprise Server installata tramite VPN Direct Connect.

    3. Nel gruppo di sicurezza IDs, scegli Aggiungi. Nel campo, selezionare il gruppo di sicurezza che si desidera utilizzare per l'host. È possibile creare fino a 10 gruppi di sicurezza.

      Assicurati di scegliere il gruppo di sicurezza per l'infrastruttura in cui è installata l'istanza di GitHub Enterprise Server o un gruppo di sicurezza con accesso all'istanza GitHub Enterprise Server installata tramite VPN Direct Connect.

    4. Se hai VPC configurato un'istanza privata e hai configurato l'istanza di GitHub Enterprise Server per eseguire TLS la convalida utilizzando un'autorità di certificazione non pubblica, nel TLScertificato inserisci l'ID del certificato. Il valore del TLS certificato deve essere la chiave pubblica del certificato.

      Schermata della console che mostra la pagina di creazione della connessione a GitHub Enterprise Server per VPC le opzioni.
  4. Scegli Connect to GitHub Enterprise Server. La connessione creata viene mostrata con uno stato Pending (In attesa). Viene creata una risorsa host per la connessione con le informazioni sul server fornite. Per il nome host, URL viene utilizzato il.

  5. Scegli Update pending connection (Aggiornare la connessione in attesa).

  6. Se richiesto, nella pagina di accesso GitHub Enterprise, accedi con le tue credenziali GitHub Enterprise.

  7. Nella pagina Crea GitHub app, scegli un nome per la tua app.

  8. <app-name>Nella pagina di GitHub autorizzazione, scegli Autorizza.

  9. Nella pagina di installazione dell'app, un messaggio indica che l'app Connector è pronta per essere installata. Se disponi di più organizzazioni, potrebbe essere richiesto di scegliere l'organizzazione in cui si desidera installare l'app.

    Scegli le impostazioni del repository in cui desideri installare l'app. Scegli Installa.

  10. La pagina di connessione mostra la connessione creata in uno stato Available (Disponibile).

Fase 3: Salvare l'azione sorgente di GitHub Enterprise Server

Utilizzare questi passaggi nella procedura guidata o nella pagina Modifica azione per salvare l'azione di origine con le informazioni di connessione.

Per completare e salvare l'azione sorgente con la connessione
  1. In Repository name (Nome repository), scegliere il nome del repository di terze parti.

  2. In Trigger Pipeline puoi aggiungere trigger se la tua azione è un'azione. CodeConnections Per configurare la configurazione dei trigger della pipeline e, facoltativamente, filtrare con i trigger, vedi maggiori dettagli in. Filtra i trigger nelle richieste push o pull di codice

  3. In Output artifact format (Formato artefatto di output), occorre scegliere il formato degli artefatti.

    • Per memorizzare gli artefatti di output dell'azione GitHub Enterprise Server utilizzando il metodo predefinito, scegliete default. CodePipeline L'azione accede ai file dal repository di GitHub Enterprise Server e archivia gli artefatti in un ZIP file nell'archivio degli artefatti della pipeline.

    • Per archiviare un JSON file che contiene un URL riferimento al repository in modo che le azioni a valle possano eseguire direttamente i comandi Git, scegli Full clone. Questa opzione può essere utilizzata solo dalle CodeBuild azioni a valle.

  4. Scegli Avanti nella procedura guidata o Salva nella pagina Modifica azione.

Creare un host e connettersi a GitHub Enterprise Server () CLI

È possibile utilizzare AWS Command Line Interface (AWS CLI) per creare una connessione.

Per farlo, utilizzare il comando create-connection.

Importante

Per impostazione predefinita, una connessione creata tramite AWS CLI o AWS CloudFormation è in PENDING stato. Dopo aver creato una connessione con CLI o AWS CloudFormation, utilizza la console per modificare la connessione e definirne lo statoAVAILABLE.

È possibile utilizzare AWS Command Line Interface (AWS CLI) per creare un host per le connessioni installate.

Nota

È possibile creare un host solo una volta per account GitHub Enterprise Server. Tutte le connessioni a un account GitHub Enterprise Server specifico utilizzeranno lo stesso host.

È possibile utilizzare un host per rappresentare l'endpoint per l'infrastruttura in cui è installato il provider di terze parti. Dopo aver completato la creazione dell'host conCLI, lo stato dell'host è In sospeso. Quindi configuri, o registri, l'host per spostarlo allo stato Disponibile. Quando l'host sarà disponibile, completa i passaggi per creare una connessione.

Per farlo, utilizzare il comando create-host.

Importante

Per impostazione predefinita, un host creato tramite Pending lo stato AWS CLI è attivo. Dopo aver creato un host conCLI, utilizza la console o CLI per configurare l'host per definirne lo statoAvailable.

Per creare un host
  1. Apri un terminale (Linux, macOS o Unix) o prompt dei comandi (Windows). Utilizzate il AWS CLI per eseguire il create-host comando, specificando il --name--provider-type, e --provider-endpoint per la connessione. In questo esempio, il nome del provider di terze parti è GitHubEnterpriseServer e l'endpoint è my-instance.dev.

    aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"

    In caso di successo, questo comando restituisce le informazioni sull'host Amazon Resource Name (ARN) simili alle seguenti.

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    Dopo questo passaggio, l'host è nello stato PENDING.

  2. Utilizza la console per completare la configurazione dell'host e sposta l'host nello stato Available.

Per creare una connessione a GitHub Enterprise Server
  1. Apri un terminale (Linux, macOS o Unix) o prompt dei comandi (Windows). Utilizzare il AWS CLI per eseguire il create-connection comando, specificando --host-arn e --connection-name per la connessione.

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection

    In caso di successo, questo comando restituisce le ARN informazioni di connessione simili alle seguenti.

    { "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad" }
  2. Utilizzare la console per configurare la connessione in attesa.

  3. Per impostazione predefinita, la pipeline rileva le modifiche al codice inviato al repository delle sorgenti di connessione. Per configurare la configurazione del trigger della pipeline per il rilascio manuale o per i tag Git, esegui una delle seguenti operazioni:

    • Per configurare la configurazione del trigger della pipeline in modo che inizi solo con una versione manuale, aggiungi la seguente riga alla configurazione:

      "DetectChanges": "false",
    • Per configurare la configurazione del trigger della pipeline per filtrare con i trigger, vedi maggiori dettagli in. Filtra i trigger nelle richieste push o pull di codice Ad esempio, quanto segue si aggiunge al livello di pipeline della definizione della pipeline. JSON In questo esempio, release-v0 e release-v1 sono i tag Git da includere e release-v2 il tag Git da escludere.

      "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]