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' GitHub azione in. 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 OAuth basati per connettersi al tuo repository. GitHub Al contrario, l' GitHub azione (versione 2) utilizza una risorsa di connessione per associare AWS le 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' 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 OAuthapplicazione per la pipeline. CodePipelineutilizza i webhook per gestire il rilevamento delle modifiche per la pipeline con l'azione sorgente della GitHub versione 1.

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 mostrato in AWS:CodeStarConnections: :Connection nella Guida per l' AWS CloudFormation utente.

Questo riferimento contiene le seguenti sezioni per l'azione della GitHub versione 1:

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 della GitHub versione 1

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

  • 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.

  • Utilizzando 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 della versione 1 per creare l'azione come mostrato inCrea 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 all'azione sorgente 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 OAuth basati 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'OAuthapplicazione 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 consente CodePipeline 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 alle sorgenti. Si consiglia di utilizzare i webhook per rilevare le modifiche all'origine. Per ulteriori informazioni sulla configurazione dei webhook, vedere Migra le pipeline di polling ai webhook (azioni di origine della GitHub versione 1) () CLI o Aggiorna le pipeline 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'elemento di output di questa azione è un ZIP file che contiene il contenuto del repository e del ramo configurati al commit specificato come revisione del codice sorgente 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. IDsI commit sono i dati completi SHA del commit.

CommitMessage

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

CommitUrl

L'URLindirizzo del 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 CLI o un AWS CloudFormation modello, è necessario fornire il valore per un token di accesso personale in GitHub cui è già stato creato.

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