Invia una revisione CodeDeploy ad Amazon S3 EC2 (/solo distribuzioni locali) - AWS CodeDeploy

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

Invia una revisione CodeDeploy ad Amazon S3 EC2 (/solo distribuzioni locali)

Dopo aver pianificato la revisione come descritto in Pianifica una revisione per CodeDeploy e aver aggiunto un AppSpec file alla revisione come descritto inAggiungere un file di specifiche dell'applicazione a una revisione per CodeDeploy, sei pronto per raggruppare i file dei componenti e inviare la revisione ad Amazon S3. Per le distribuzioni su EC2 istanze Amazon, dopo aver inviato la revisione, puoi utilizzare CodeDeploy per distribuire la revisione da Amazon S3 alle istanze.

Nota

CodeDeploy può essere utilizzato anche per distribuire le revisioni che sono state trasferite a. GitHub Per ulteriori informazioni, consulta la documentazione. GitHub

Si presuppone che siano già state seguite le istruzioni in Guida introduttiva con CodeDeploy per configurare il AWS CLI. Questo è particolarmente importante per chiamare il comando push descritto più avanti.

Assicurati di avere un bucket Amazon S3. Segui le istruzioni in Creare un bucket.

Se la distribuzione è su EC2 istanze Amazon, il bucket Amazon S3 di destinazione deve essere creato o esistere nella stessa regione delle istanze di destinazione. Ad esempio, se desideri distribuire una revisione in alcune istanze nella regione Stati Uniti orientali (Virginia settentrionale) e altre istanze nella regione Stati Uniti occidentali (Oregon), devi avere un bucket nella regione Stati Uniti orientali (Virginia settentrionale) con una copia della revisione e un altro bucket nella regione Stati Uniti occidentali (Oregon) con un'altra copia della stessa revisione. In questo scenario, sarebbe quindi necessario creare due distribuzioni separate, una nella regione Stati Uniti orientali (Virginia settentrionale) e l'altra nella regione Stati Uniti occidentali (Oregon), anche se la revisione è la stessa in entrambe le regioni e i periodi.

È necessario disporre delle autorizzazioni per il caricamento nel bucket Amazon S3. Puoi specificare queste autorizzazioni tramite una policy sui bucket di Amazon S3. Ad esempio, nella seguente policy sui bucket di Amazon S3, l'utilizzo del carattere wildcard (*) consente 111122223333 all' AWS account di caricare file in qualsiasi directory del bucket Amazon S3 denominata: amzn-s3-demo-bucket

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Per visualizzare l'ID del tuo AWS account, consulta Finding Your account ID. AWS

Per informazioni su come generare e allegare una bucket policy di Amazon S3, consulta Esempi di policy Bucket.

L'utente che chiama il push comando deve disporre almeno delle autorizzazioni per caricare la revisione in ogni bucket Amazon S3 di destinazione. Ad esempio, la seguente policy consente all'utente di caricare le revisioni in qualsiasi punto del bucket Amazon S3 denominato: amzn-s3-demo-bucket

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Per informazioni su come creare e allegare una IAM policy, consulta Lavorare con le policy.

Invia una revisione utilizzando il AWS CLI

Nota

Il push comando raggruppa gli elementi dell'applicazione e un AppSpec file in una revisione. Il formato di file di questa revisione è un file compresso. ZIP Il comando non può essere utilizzato con una ECS distribuzione AWS Lambda o Amazon perché ognuna prevede una revisione che sia un file -formatted o JSON -formatted. YAML AppSpec

Chiama il comando push per aggregare e inviare la revisione per una distribuzione. I parametri sono:

  • --application-name: (stringa) obbligatorio. Il nome dell'applicazione da associare alla revisione CodeDeploy dell'applicazione.

  • --s3-location: (stringa) obbligatorio. Informazioni sulla posizione della revisione dell'applicazione da caricare su Amazon S3. È necessario specificare un bucket Amazon S3 e una chiave. La chiave è il nome della revisione. CodeDeploy comprime il contenuto prima che venga caricato. Utilizzare il formato s3://amzn-s3-demo-bucket/your-key.zip.

  • --ignore-hidden-files o --no-ignore-hidden-files: (booleano) Facoltativo. Usa il --no-ignore-hidden-files flag (impostazione predefinita) per raggruppare e caricare file nascosti su Amazon S3. Usa il --ignore-hidden-files flag per non raggruppare e caricare file nascosti su Amazon S3.

  • --source (stringa) Facoltativo. La posizione del contenuto da distribuire e del AppSpec file sulla macchina di sviluppo da comprimere e caricare su Amazon S3. La posizione è specificata come un percorso relativo alla directory corrente. Se il percorso relativo non è specificato o se viene utilizzato un punto singolo per il percorso ("."), viene utilizzata la directory corrente.

  • --description (stringa) Facoltativo. Un commento che riepiloga la revisione dell'applicazione. Se non viene specificata, viene utilizzata la stringa predefinita «Uploaded by AWS CLI 'time'UTC", dove 'time' è l'ora corrente del sistema in Coordinated Universal Time (). UTC

Puoi usare il AWS CLI per inviare una revisione per una EC2 distribuzione Amazon. Un comando di invio di esempio è simile a quanto segue:

In Linux, macOS o Unix:

aws deploy push \ --application-name WordPress_App \ --description "This is a revision for the application WordPress_App" \ --ignore-hidden-files \ --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \ --source .

Su Windows:

aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip --source .

Questo comando funziona nel modo seguente:

  • Associa i file aggregati con un'applicazione denominata WordPress_App.

  • Collega una descrizione alla revisione.

  • Ignora i file nascosti.

  • Rinomina la revisione WordPressApp.zip e la invia e un bucket denominato amzn-s3-demo-bucket.

  • Aggrega tutti i file nella directory root nella revisione.

Dopo che il push è andato a buon fine, puoi utilizzare la console AWS CLI o la CodeDeploy console per distribuire la revisione da Amazon S3. Per distribuire questa revisione con: AWS CLI

In Linux, macOS o Unix:

aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name your-deployment-config-name \ --deployment-group-name your-deployment-group-name \ --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip

Su Windows:

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip

Per ulteriori informazioni, consulta Crea una distribuzione con CodeDeploy.