Appendice A: azioni di origine GitHub (tramite OAuth app) - 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 GitHub (tramite OAuth app)

Questa appendice fornisce informazioni (tramite OAuth app) sull' GitHub azione in. CodePipeline

Nota

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

Per l'integrazione con GitHub, CodePipeline utilizza un' GitHub OAuth applicazione per la pipeline. CodePipelineutilizza i webhook per gestire il rilevamento delle modifiche per la pipeline con l'azione sorgente GitHub (tramite OAuth app).

Nota

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

Questo riferimento contiene le seguenti sezioni relative all'azione GitHub (tramite OAuth app):

Importante

Durante la creazione di CodePipeline webhook, non utilizzate le vostre credenziali né riutilizzate lo stesso token segreto su più webhook. Per una sicurezza ottimale, genera un token segreto unico per ogni webhook creato. Il token segreto è una stringa arbitraria fornita dall'utente, che viene GitHub utilizzata per calcolare e firmare i payload del webhook a cui vengono inviati CodePipeline, per proteggere l'integrità e l'autenticità dei payload del webhook. L'utilizzo delle proprie credenziali o il riutilizzo dello stesso token su più webhook può portare a vulnerabilità di sicurezza.

Nota

Se è stato fornito un token segreto, verrà oscurato nella risposta.

Aggiungere un'azione sorgente GitHub (tramite OAuth app)

Puoi aggiungere GitHub (tramite OAuth app) azioni sorgente CodePipeline a:

  • Utilizzando la CodePipeline console Create pipeline wizard (Crea una pipeline personalizzata (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'GitHubazione e creare risorse aggiuntive come segue:

    • Utilizzo dell'GitHubesempio di configurazione dell'azione in GitHub Riferimento all'azione sorgente (tramite app OAuth ) 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. Migri la tua pipeline di sondaggi ai webhook per le azioni (tramite app). GitHub OAuth

GitHub Riferimento all'azione sorgente (tramite app OAuth )

Nota

Sebbene non sia consigliabile utilizzare l'azione GitHub (tramite OAuth app), le pipeline esistenti con l'azione GitHub (tramite OAuth app) continueranno a funzionare senza alcun impatto. Per una pipeline con un'azione sorgente GitHub GitHub (tramite OAuth app), CodePipeline utilizza token OAuth basati per connettersi al tuo repository. GitHub Al contrario, la nuova GitHub azione (tramite GitHub app) 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. Aggiorna un'azione sorgente GitHub (tramite OAuth app) a un'azione sorgente GitHub (tramite GitHub app)

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

Per l'integrazione con GitHub, CodePipeline utilizza un' OAuth applicazione 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.

OAuthToken

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 OAuth token per registrare la GitHub connessione.

  • Quando si utilizza il AWS CLI per creare la pipeline, è possibile passare il 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 ((tramite OAuth app) GitHub (azioni di origine) (CLI) o Aggiorna le pipeline per gli eventi push GitHub (tramite OAuth app) (azioni di origine) (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. Riferimento alle variabili

CommitId

L'ID di GitHub commit che ha attivato l'esecuzione della pipeline. IDs I commit sono gli SHA completi 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.

CommitterDate

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

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.