Esempio di versione sorgente con AWS CodeBuild - AWS CodeBuild

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

Esempio di versione sorgente con AWS CodeBuild

In questo esempio viene illustrato come specificare una versione dell'origine utilizzando un formato diverso da un ID commit (detto anche SHA commit). Puoi specificare la versione dell'origine nei seguenti modi:

  • Per un provider di sorgenti Amazon S3, utilizza l'ID di versione dell'oggetto che rappresenta il file ZIP di input della build.

  • Per CodeCommit Bitbucket ed GitHub Enterprise Server, utilizza uno dei seguenti: GitHub

    • Richiesta pull come riferimento alla richiesta pull (ad esempio refs/pull/1/head).

    • Ramo come nome del ramo.

    • ID commit.

    • Tag.

    • Riferimento e un ID commit. Il riferimento può essere uno dei seguenti:

      • Un tag (ad esempio refs/tags/mytagv1.0^{full-commit-SHA}).

      • Un ramo (ad esempio refs/heads/mydevbranch^{full-commit-SHA}).

      • Una richiesta pull (ad esempio refs/pull/1/head^{full-commit-SHA}).

  • Per GitLab e GitLab Self Managed, usa uno dei seguenti:

    • Ramo come nome del ramo.

    • ID commit.

    • Tag.

Nota

È possibile specificare la versione di una sorgente di richiesta pull solo se il repository è GitHub o GitHub Enterprise Server.

Se utilizzi un riferimento e un ID commit per specificare una versione, la fase DOWNLOAD_SOURCE della compilazione dura meno è più rapida di quando fornisci solo la versione. Questo perché quando si aggiunge un riferimento, CodeBuild non è necessario scaricare l'intero repository per trovare il commit.

  • È possibile specificare una versione di origine con solo un ID commit, ad esempio 12345678901234567890123467890123456789. Se lo fai, CodeBuild devi scaricare l'intero repository per trovare la versione.

  • È possibile specificare una versione di origine con un riferimento e un ID commit in questo formato: refs/heads/branchname^{full-commit-SHA} (ad esempio refs/heads/main^{12345678901234567890123467890123456789}). Se lo fai, CodeBuild scarica solo il ramo specificato per trovare la versione.

Nota

Per velocizzare la DOWNLOAD_SOURCE fase di compilazione, puoi anche impostare la profondità del clone di Git su un numero basso. CodeBuild scarica un numero inferiore di versioni del tuo repository.

Per specificare una versione del GitHub repository con un ID di commit
  1. Apri la AWS CodeBuild console all'indirizzo https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Creare un progetto di compilazione. Per informazioni, consulta Creare un progetto di compilazione (console) e Esecuzione di una compilazione (console). Lasciare tutte le impostazioni sui valori predefiniti, ad eccezione delle seguenti:

    • In Source (Origine):

      • Per Provider di origine, scegli GitHub. Se non sei connesso a GitHub, segui le istruzioni per connetterti.

      • In Repository, scegliere Public repository (Repository pubblico).

      • Nel campo Repository URL (URL repository), inserire https://github.com/aws/aws-sdk-ruby.git

    • In Environment (Ambiente):

      • Per Environment image (Immagine ambiente), scegliere Managed image (Immagine gestita).

      • Per Operating system (Sistema operativo), scegliere Amazon Linux 2.

      • In Runtime(s) (Runtime), seleziona Standard.

      • Per Image, scegli aws/codebuild/amazonlinux2-x86_64-standard:4.0.

  3. Per Build specifications (Specifiche di compilazione), scegliere Insert build commands (Inserisci comandi di compilazione) e selezionare Switch to editor (Passa a editor).

  4. Per Build commands (Comandi di compilazione), sostituire il testo segnaposto con il seguente:

    version: 0.2 phases: install: runtime-versions: ruby: 2.6 build: commands: - echo $CODEBUILD_RESOLVED_SOURCE_VERSION

    La sezione runtime-versions è obbligatoria quando si utilizza l'immagine standard di Ubuntu 2.0. Qui viene specifficata la versione 2.6 del runtime di Ruby, ma si può utilizzare qualunque runtime. Il comando echo visualizza la versione del codice sorgente archiviato nella variabile di ambiente CODEBUILD_RESOLVED_SOURCE_VERSION.

  5. In Build configuration (Configurazione della compilazione) accettare le impostazioni predefinite, quindi scegliere Build configuration (Avvia compilazione).

  6. Per Source version (Versione origine), inserire 046e8b67481d53bdc86c3f6affdd5d1afae6d369. Questo è il SHA di un commit nel repository https://github.com/aws/aws-sdk-ruby.git.

  7. Selezionare Start build (Avvia compilazione).

  8. Una volta completata la compilazione, si dovrebbe visualizzare quanto segue:

    • Nella scheda Build logs (Log di compilazione), la versione dell'origine del progetto che è stata utilizzata. Ecco un esempio.

      [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
    • Nella scheda Environment variables (Variabili di ambiente), Resolved source version (Versione di origine risolta corrisponde all'ID commit utilizzato per creare la compilazione.

    • Nella scheda Phase details (Dettagli di fase), la durata della fase DOWNLOAD_SOURCE.

Questa procedura illustra come creare una compilazione utilizzando la stessa versione dell'origine. Questa volta la versione dell'origine viene specificata utilizzando un riferimento con l'ID commit.

Per specificare una versione del repository con un ID di commit e un riferimento GitHub
  1. Dal riquadro di navigazione a sinistra, scegliere Build projects (Progetti di compilazione) e selezionare il progetto creato in precedenza.

  2. Selezionare Start build (Avvia compilazione).

  3. In Source version (Versione di origine), inserire refs/heads/main^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}. Questo è lo stesso ID commit e un riferimento a un ramo nel formato refs/heads/branchname^{full-commit-SHA}.

  4. Selezionare Start build (Avvia compilazione).

  5. Una volta completata la compilazione, si dovrebbe visualizzare quanto segue:

    • Nella scheda Build logs (Log di compilazione), la versione dell'origine del progetto che è stata utilizzata. Ecco un esempio.

      [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 046e8b67481d53bdc86c3f6affdd5d1afae6d369 [Container] Date Time Phase complete: BUILD State: SUCCEEDED
    • Nella scheda Environment variables (Variabili di ambiente), Resolved source version (Versione di origine risolta corrisponde all'ID commit utilizzato per creare la compilazione.

    • Nella scheda Phase details (Dettagli di fase), la durata della fase DOWNLOAD_SOURCE deve essere più breve di quella in cui si è utilizzato solo l'ID commit per specificare la versione dell'origine.