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à.
Utilizzare l' CodeDeploy agente per convalidare un pacchetto di distribuzione su un computer locale
Utilizzando l' CodeDeploy agente, puoi distribuire contenuti su un'istanza a cui hai effettuato l'accesso. Ciò consente di verificare l'integrità di un file di specifiche dell'applicazione (AppSpec file) che si intende utilizzare in una distribuzione e del contenuto che si intende distribuire.
Non è necessario creare un'applicazione e un gruppo di distribuzione. Se desideri distribuire il contenuto archiviato sull'istanza locale, non hai nemmeno bisogno di un AWS account. Per i test più semplici, puoi eseguire il codedeploy-agent deploy-local comando, senza specificare alcuna opzione, in una directory che contiene il AppSpec file e il contenuto da distribuire. Lo strumento offre opzioni per altri test case.
Convalidando un pacchetto di distribuzione in un computer locale è possibile:
-
Testare l'integrità di una revisione dell'applicazione.
-
Verifica il contenuto di un AppSpec file.
-
Prova CodeDeploy per la prima volta con il codice dell'applicazione esistente.
-
Distribuire il contenuto in modo rapido quando si è già connessi a un'istanza.
Puoi utilizzare contenuti di distribuzione archiviati sull'istanza locale o in un tipo di repository remoto supportato (bucket Amazon S3 o repository pubblici). GitHub
Prerequisiti
Prima di avviare una distribuzione locale, completa la procedura illustrata di seguito:
-
Crea o usa un tipo di istanza supportato dall'agente. CodeDeploy Per informazioni, consulta Sistemi operativi supportati dall'agente CodeDeploy.
-
Installa la versione 2.0.0 o successiva dell' CodeDeploy agente. Il
deploy-localsottocomando richiede la versione 2.0.0 o successiva. Per la versione 1.8.x e precedenti, utilizzate invece il comando standalone.codedeploy-localPer informazioni sulla versione, consulta Cronologia delle versioni dell'agente CodeDeploy. Per informazioni sull'installazione, consulta Installa l' CodeDeploy agente. -
Se stai distribuendo i tuoi contenuti da un bucket GitHub o da un repository Amazon S3, fornisci un utente con cui utilizzarli. CodeDeploy Per informazioni, consulta Fase 1: Configurazione.
-
Se stai distribuendo la revisione dell'applicazione da un bucket Amazon S3, crea un bucket Amazon S3 nella regione in cui lavori e applica una policy per i bucket Amazon S3 al bucket. Questa policy concede alle istanze le autorizzazioni richieste per scaricare la revisione dell'applicazione.
Ad esempio, la seguente policy sui bucket di Amazon S3 consente a qualsiasi istanza Amazon EC2 con un profilo di istanza IAM collegato contenente l'ARN
arn:aws:iam::444455556666:role/CodeDeployDemodi essere scaricata da qualsiasi punto del bucket Amazon S3 denominato:amzn-s3-demo-bucket{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }La seguente policy sui bucket di Amazon S3 consente a qualsiasi istanza locale con un utente IAM associato contenente l'ARN di essere scaricata
arn:aws:iam::444455556666:user/CodeDeployUserda qualsiasi punto del bucket Amazon S3 denominato:amzn-s3-demo-bucket{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/CodeDeployUser" ] } } ] }Per informazioni su come generare e allegare una bucket policy di Amazon S3, consulta Esempi di policy Bucket.
-
Se stai distribuendo la revisione dell'applicazione da un bucket GitHub o da un repository Amazon S3, configura un profilo di istanza IAM e collegalo all'istanza. Per informazioni, consulta Fase 4: crea un profilo di istanza IAM per le tue istanze Amazon EC2, Crea un'istanza Amazon EC2 per ( CodeDeploy AWS CLI o console Amazon EC2) e Crea un'istanza Amazon EC2 per ( CodeDeploy CloudFormation modello).
-
Se stai distribuendo i tuoi contenuti da GitHub, crea un account e un GitHub archivio pubblico. Per creare un GitHub account, consulta Partecipa. GitHub
Per creare un GitHub repository, consulta Creare un repository . Nota
I repository privati attualmente non sono supportati. Se i tuoi contenuti sono archiviati in un GitHub repository privato, puoi scaricarli sull'istanza e utilizzare l'
--bundle-locationopzione per specificarne il percorso locale. -
Prepara il contenuto (incluso un AppSpec file) che desideri distribuire sull'istanza e inseriscilo nell'istanza locale, nel tuo bucket Amazon S3 o nel tuo repository. GitHub Per informazioni, consulta Utilizzo delle revisioni delle applicazioni per CodeDeploy.
-
Se desideri utilizzare valori diversi da quelli predefiniti per altre opzioni di configurazione, crea il file di configurazione e posizionalo nell'istanza (per istanze
/etc/codedeploy-agent/conf/codedeployagent.ymlAmazon Linux, RHEL o Ubuntu Server oC:\ProgramData\Amazon\CodeDeploy\conf.ymlper istanze Windows Server). Per informazioni, consulta CodeDeploy riferimento alla configurazione dell'agente.Nota
Se utilizzi un file di configurazione su istanze Amazon Linux, RHEL o Ubuntu Server, devi:
-
Utilizzare le variabili
:root_dir:e:log_dir:per specificare posizioni diverse da quelle predefinite per la cartella della directory dei log e la cartella principale della distribuzione. -
Utilizzato
sudoper eseguire i comandi CodeDeploy dell'agente.
-
Crea una distribuzione locale
Nell'istanza in cui desideri creare la distribuzione locale, apri una sessione terminale (istanze Amazon Linux, RHEL o Ubuntu Server) o un prompt dei comandi (Windows Server) per eseguire i comandi dello strumento.
Nota
Il codedeploy-agent deploy-local comando utilizza il codedeploy-agent file binario nelle seguenti posizioni:
-
Su Amazon Linux, RHEL o Ubuntu Server:
/opt/codedeploy-agent/bin/codedeploy-agent. -
Su Windows Server:
C:\ProgramData\Amazon\CodeDeploy\bin\codedeploy-agent.exe.
Per motivi di compatibilità con le versioni precedenti, il codedeploy-local comando è disponibile anche nelle stesse posizioni:
-
Su Amazon Linux, RHEL o Ubuntu Server, il comando si trova in
/opt/codedeploy-agent/bin/codedeploy-local. -
In Windows Server, il comando si trova in
C:\ProgramData\Amazon\CodeDeploy\bin\codedeploy-local.exe.
La codedeploy-local [options] sintassi continua a funzionare e accetta le stesse codedeploy-agent deploy-local opzioni di.
Sintassi del comando base
codedeploy-agent deploy-local [options]
Riepilogo
codedeploy-agent deploy-local [--bundle-location <value>] [--type <value>] [--file-exists-behavior <value>] [--deployment-group <value>] [--deployment-group-name <value>] [--application-name <value>] [--events <comma-separated values>] [--agent-configuration-file <value>] [--appspec-filename <value>]
Opzioni
-l, --bundle-location
La posizione del bundle di revisione dell'applicazione. Se non specifichi un percorso, per impostazione predefinita lo strumento utilizza la directory di lavoro. Se specifichi un valore per --bundle-location, devi specificare anche un valore per --type.
Esempi di formato del percorso del bundle:
-
Istanza locale di Amazon Linux, RHEL o Ubuntu Server:
/path/to/local/bundle.tgz -
Istanza locale di Windows Server:
C:/path/to/local/bundle -
Bucket Amazon S3:
s3://amzn-s3-demo-bucket/bundle.tar -
GitHub archivio:
https://github.com/account-name/repository-name/
-t, --type
Il formato del bundle di revisione dell'applicazione. I tipi supportati includono tgz, tar, zip e directory. Se non specifichi un tipo, lo strumento utilizza directory per impostazione predefinita. Se specifichi un valore per --type, devi specificare anche un valore per --bundle-location.
-b, --file-exists-behavior
Indica come vengono gestiti in una posizione di destinazione della distribuzione i file già esistenti che non facevano parte della distribuzione precedente. Le opzioni includono DISALLOW, OVERWRITE, RETAIN. Per ulteriori informazioni, consulta il file ExistsBehavior in AWS CodeDeploy API Reference.
-g, --deployment-group
Il percorso della cartella di destinazione del contenuto da distribuire. Se non si specifica una cartella, lo strumento ne crea una denominata default-local-deployment-group all'interno della directory principale del gruppo di distribuzione. Per ogni distribuzione locale creata, lo strumento crea una sottodirectory all'interno di questa cartella con nomi come local-1234 (dove il numero è l'ID del processo).
-d, --deployment-group-name
Il nome del gruppo di distribuzione esposto agli script lifecycle-hook come variabile di ambiente. DEPLOYMENT_GROUP_NAME L’impostazione predefinita è LocalFleet.
-a, --application-name
Il nome dell'applicazione esposto agli script lifecycle-hook come variabile di ambiente. APPLICATION_NAME Il valore predefinito è la posizione del pacchetto.
-e, --events
Un set di hook di eventi override lifecycle che desideri eseguire, in ordine, anziché gli eventi elencati nel file. AppSpec È possibile specificare più hook separati da virgole. Puoi utilizzare questa opzione se:
-
Vuoi eseguire un set diverso di eventi senza dover aggiornare il file. AppSpec
-
Vuoi eseguire un singolo hook di eventi come eccezione al contenuto del AppSpec file, ad esempio
ApplicationStop.
Se non specificate né DownloadBundleinstallate gli eventi nell'elenco delle sostituzioni, questi verranno eseguiti prima di tutti gli hook di eventi specificati. Se includi DownloadBundlee Install nell'elenco delle --events opzioni, questi devono essere preceduti solo da eventi che normalmente vengono eseguiti prima di loro nelle distribuzioni. CodeDeploy Per informazioni, consulta AppSpec sezione 'hooks'.
-c, --agent-configuration-file
Posizione di un file di configurazione da utilizzare per la distribuzione, se archiviato in un percorso diverso da quello predefinito. Un file di configurazione specifica alternative rispetto ad altri valori e comportamenti predefiniti per una distribuzione.
Per impostazione predefinita, i file di configurazione vengono archiviati in /etc/codedeploy-agent/conf/codedeployagent.yml (istanze Amazon Linux, RHEL o Ubuntu Server) o C:/ProgramData/Amazon/CodeDeploy/conf.yml (Windows Server). Per ulteriori informazioni, consulta CodeDeploy riferimento alla configurazione dell'agente.
-A, --appspec-filename
Il nome del file. AppSpec Per le distribuzioni locali, i valori accettati sono appspec.yml e. appspec.yaml Per impostazione predefinita, il AppSpec file viene chiamato. appspec.yml
-h, --help
Visualizza un riepilogo del contenuto della guida.
-v, --version
Visualizza il numero di versione dello strumento.
Esempi
Di seguito vengono illustrati alcuni esempi di formati di comando validi.
codedeploy-agent deploy-local
codedeploy-agent deploy-local --bundle-location /path/to/local/bundle/directory
codedeploy-agent deploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group my-deployment-group
codedeploy-agent deploy-local --bundle-location /path/to/local/directory --type directory --deployment-group my-deployment-group
Distribuisci un pacchetto da Amazon S3:
codedeploy-agent deploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.tgz --type tgz
codedeploy-agent deploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.zip?versionId=1234&etag=47e8 --type zip --deployment-group my-deployment-group
Distribuisci un pacchetto da un archivio pubblico: GitHub
codedeploy-agent deploy-local --bundle-location https://github.com/awslabs/aws-codedeploy-sample-tomcat --type zip
codedeploy-agent deploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/master --type zip
codedeploy-agent deploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/HEAD --type zip
codedeploy-agent deploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/1a2b3c4d --type zip
Distribuire un pacchetto specificando più eventi del ciclo di vita:
codedeploy-agent deploy-local --bundle-location /path/to/local/bundle.tar --type tar --deployment-group my-deployment-group --events DownloadBundle,Install,ApplicationStart,HealthCheck
Arresta un'applicazione precedentemente distribuita utilizzando l'evento del ciclo di vita: ApplicationStop
codedeploy-agent deploy-local --bundle-location /path/to/local/bundle.tgz --type tgz --deployment-group my-deployment-group --events ApplicationStop
Effettuare la distribuzione utilizzando un ID del gruppo di distribuzione specifico:
codedeploy-agent deploy-local --bundle-location C:/path/to/local/bundle/directory --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca
codedeploy-agent deploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca