Appendice A: azioni di origine della GitHub versione 1 - 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à.

Appendice A: azioni di origine della GitHub versione 1

Questa appendice fornisce informazioni sulla versione 1 dell'azione in. GitHub CodePipeline

Nota

Sebbene non sia consigliabile utilizzare l'azione della GitHub versione 1, le pipeline esistenti con l'azione della GitHub versione 1 continueranno a funzionare senza alcun impatto. Per una pipeline con un'azione della GitHub versione 1, CodePipeline utilizza token basati su OAuth per connettersi al tuo repository. GitHub Al contrario, l' GitHub azione (versione 2) utilizza una risorsa di connessione per associare AWS risorse al repository. GitHub La risorsa di connessione utilizza token basati su app per connettersi. Per ulteriori informazioni sull'aggiornamento della pipeline all' GitHub azione consigliata che utilizza una connessione, consulta. Aggiornare un'azione di origine della GitHub versione 1 a un'azione di origine della GitHub versione 2 Per ulteriori informazioni sull'accesso basato su OAuth rispetto GitHub all'accesso basato su app GitHub , consulta. https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps

Per l'integrazione con GitHub, CodePipeline utilizza un'applicazione GitHub OAuth per la pipeline. CodePipelineutilizza i webhook per gestire il rilevamento delle modifiche per la pipeline con l'azione di origine della versione 1. GitHub

Nota

Quando configuri un'azione di origine della GitHub versione 2 in AWS CloudFormation, non includi alcuna informazione sul GitHub token né aggiungi una risorsa webhook. Si configura una risorsa di connessione come illustrato AWS::CodeStarConnections::Connectionnella Guida per l' AWS CloudFormation utente.

Questo riferimento contiene le seguenti sezioni relative all'azione della GitHub versione 1:

Aggiungere un'azione di origine della versione 1 GitHub

Aggiungete le azioni di origine della GitHub versione 1 nei seguenti CodePipeline modi:

  • Utilizzando la CodePipeline console Create pipeline wizard (Creazione di una pipeline (console)) o la pagina Modifica azione per scegliere l'opzione del GitHubprovider. La console crea un webhook che avvia la pipeline quando cambia la fonte.

  • Utilizzo della CLI per aggiungere la configurazione dell'azione per l'GitHubazione e creare risorse aggiuntive come segue:

    • Utilizzo dell'GitHubesempio di configurazione dell'azione in GitHub riferimento alla struttura delle azioni di origine della versione 1 per creare l'azione come mostrato inCreazione di una pipeline (CLI).

    • Disattivazione dei controlli periodici e creazione manuale del rilevamento delle modifiche, poiché per impostazione predefinita il metodo di rilevamento delle modifiche prevede l'avvio della pipeline mediante il polling della fonte. Per le azioni della versione 1, si esegue la migrazione della pipeline di polling verso i webhook. GitHub

GitHub riferimento alla struttura delle azioni di origine della versione 1

Nota

Sebbene non sia consigliabile utilizzare l'azione della GitHub versione 1, le pipeline esistenti con l'azione della GitHub versione 1 continueranno a funzionare senza alcun impatto. Per una pipeline con un'azione sorgente della GitHub GitHub versione 1, CodePipeline utilizza token basati su OAuth per connettersi al tuo repository. GitHub Al contrario, la nuova GitHub azione (versione 2) utilizza una risorsa di connessione per associare AWS risorse al repository. GitHub La risorsa di connessione utilizza token basati su app per connettersi. Per ulteriori informazioni sull'aggiornamento della pipeline all' GitHub azione consigliata che utilizza una connessione, consulta. Aggiornare un'azione di origine della GitHub versione 1 a un'azione di origine della GitHub versione 2

Attiva la pipeline quando viene effettuato un nuovo commit nel GitHub repository e nel ramo configurati.

Per l'integrazione con GitHub, CodePipeline utilizza un'applicazione OAuth o un token di accesso personale per la pipeline. Se utilizzi la console per creare o modificare la pipeline, CodePipeline crea un GitHub webhook che avvia la pipeline quando si verifica una modifica nel repository.

È necessario aver già creato un GitHub account e un repository prima di connettere la pipeline tramite un'azione. GitHub

Se desideri limitare l'accesso ai CodePipeline repository, crea un GitHub account e concedi all'account l'accesso solo ai repository con cui desideri effettuare l'integrazione. CodePipeline Usa quell'account quando configuri l'uso dei GitHub repository CodePipeline per le fasi di origine nelle pipeline.

Per ulteriori informazioni, consulta la documentazione per gli GitHub sviluppatori sul GitHub sito Web.

Tipo di operazione

  • Categoria: Source

  • Proprietario: ThirdParty

  • Provider: GitHub

  • Versione: 1

Parametri di configurazione

Owner

Campo obbligatorio: sì

Il nome dell' GitHub utente o dell'organizzazione proprietaria del GitHub repository.

Repo

Campo obbligatorio: sì

Il nome del repository in cui devono essere rilevate le modifiche di origine.

Ramo

Campo obbligatorio: sì

Il nome del ramo in cui devono essere rilevate le modifiche di origine.

O AuthToken

Campo obbligatorio: sì

Rappresenta il token di GitHub autenticazione che CodePipeline consente di eseguire operazioni sul GitHub repository. La voce viene sempre visualizzata come una maschera di quattro asterischi. Rappresenta uno dei seguenti valori:

  • Quando si utilizza la console per creare la pipeline, CodePipeline utilizza un token OAuth per registrare la connessione. GitHub

  • Quando usi il AWS CLI per creare la pipeline, puoi passare il tuo token di accesso GitHub personale in questo campo. Sostituisci gli asterischi (****) con il token di accesso personale copiato da. GitHub Quando si esegue get-pipeline per visualizzare la configurazione dell'operazione, per questo valore viene visualizzata la maschera con quattro asterischi.

  • Quando si utilizza un AWS CloudFormation modello per creare la pipeline, è necessario innanzitutto archiviare il token come indirizzo segreto. AWS Secrets Manager Il valore di questo campo viene incluso come riferimento dinamico al segreto memorizzato in Secrets Manager, ad esempio{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}.

Per ulteriori informazioni sugli GitHub ambiti, consulta lo GitHub Developer API Reference sul GitHub sito Web.

PollForSourceChanges

Campo obbligatorio: no

PollForSourceChangescontrolla se interroga CodePipeline il GitHub repository per verificare la presenza di modifiche all'origine. Si consiglia di utilizzare i webhook per rilevare le modifiche all'origine. Per ulteriori informazioni sulla configurazione dei webhook, vedere Migrazione delle pipeline di polling ai webhook (azioni sorgente GitHub versione 1) (CLI) o Pipeline di aggiornamento per gli eventi push (azioni di origine della GitHub versione 1) (modello)AWS CloudFormation.

Importante

Se si intende configurare webhook, è necessario impostare PollForSourceChanges su false per evitare esecuzioni di pipeline duplicate.

I valori validi per questo parametro sono:

  • True: Se impostato, analizza il repository per CodePipeline verificare se sono state apportate modifiche all'origine.

    Nota

    Se si omettePollForSourceChanges, per CodePipeline impostazione predefinita esegue il polling del repository per verificare la presenza di modifiche all'origine. Questo comportamento è lo stesso se PollForSourceChanges è impostato su true.

  • False: se impostata, CodePipeline non esegue il polling del repository per verificare la presenza di modifiche all'origine. Utilizzare questa impostazione se si intende configurare un webhook per rilevare le modifiche all'origine.

Input artifact (Artefatti di input)

  • Numero di artefatti: 0

  • Descrizione: gli artefatti di input non si applicano a questo tipo di azione.

Artefatti di output

  • Numero di artefatti: 1

  • Descrizione: l'artefatto di output di questa azione è un file ZIP che contiene il contenuto del repository configurato e del ramo al commit specificato come revisione di origine per l'esecuzione della pipeline. Gli artefatti generati dal repository sono gli artefatti di output dell'azione. GitHub L'ID di commit del codice sorgente viene visualizzato CodePipeline come revisione del codice sorgente per l'esecuzione della pipeline attivata.

Variabili di output

Quando è configurata, questa azione produce variabili che possono essere referenziate dalla configurazione dell'azione di un'azione downstream nella pipeline. Questa azione produce variabili che possono essere viste come variabili di output, anche se l'azione non ha uno spazio dei nomi. È possibile configurare un'azione con uno spazio dei nomi per rendere tali variabili disponibili per la configurazione delle azioni downstream.

Per ulteriori informazioni sulle variabili in CodePipeline, vedere. Variables

CommitId

L'ID di GitHub commit che ha attivato l'esecuzione della pipeline. Gli ID di commit sono l'SHA completo del commit.

CommitMessage

Il messaggio di descrizione, se presente, associato al commit che ha attivato l'esecuzione della pipeline.

CommitUrl

L'indirizzo URL per il commit che ha attivato la pipeline.

RepositoryName

Il nome del GitHub repository in cui è stato effettuato il commit che ha attivato la pipeline.

BranchName

Il nome del ramo del GitHub repository in cui è stata apportata la modifica all'origine.

AuthorDate

La data in cui il commit è stato creato, in formato timestamp.

Per ulteriori informazioni sulla differenza tra un autore e un committer in Git, vedere Visualizzazione della cronologia del commit in Pro Git di Scott Chacon e Ben Straub.

CommitterDate

La data in cui è stato eseguito il commit, in formato timestamp.

Per ulteriori informazioni sulla differenza tra un autore e un committer in Git, vedere Visualizzazione della cronologia del commit in Pro Git di Scott Chacon e Ben Straub.

Dichiarazione di operazione (esempio GitHub)

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: ThirdParty Category: Source Provider: GitHub OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: Owner: MyGitHubAccountName Repo: MyGitHubRepositoryName PollForSourceChanges: 'false' Branch: main OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}' Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "ThirdParty", "Category": "Source", "Provider": "GitHub" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName", "PollForSourceChanges": "false", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}" }, "Name": "ApplicationSource" } ] },

Connessione a GitHub (OAuth)

La prima volta che usi la console per aggiungere un GitHub repository a una pipeline, ti viene chiesto di autorizzare CodePipeline l'accesso ai tuoi repository. Il token richiede i seguenti ambiti: GitHub

  • L'ambito repo, utilizzato per il controllo completo per leggere ed estrarre artefatti da repository pubblici e privati in una pipeline.

  • L'ambito admin:repo_hook, utilizzato per il controllo completo di hook di repository.

Quando si utilizza la CLI o un AWS CloudFormation modello, è necessario fornire il valore per un token di accesso personale in cui è già stato creato. GitHub

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.