Utilisation de l'interface de ligne de commande EB avec AWS CodeCommit - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'interface de ligne de commande EB avec AWS CodeCommit

Vous pouvez utiliser l'interface de ligne de commande EB pour déployer votre application directement depuis votre référentiel AWS CodeCommit. Avec CodeCommit, vous pouvez charger uniquement les modifications apportées au référentiel lorsque vous déployez l'application, au lieu de charger l'ensemble du projet. Vous économisez ainsi du temps et de la bande passante si vous avez un vaste projet ou une connexion Internet limitée. L'interface de ligne de commande EB effectue une transmission de type push de vos validations locales et les emploie pour créer les versions de l'application lorsque vous utilisez eb appversion, eb create ou eb deploy.

Pour déployer vos modifications, l'intégration CodeCommit exige de valider d'abord les modifications. Cependant, lorsque vous développez ou déboguez, vous pouvez ne pas vouloir pousser les modifications que vous n'avez pas confirmées comme opérationnelles. Vous pouvez éviter de valider vos modifications en les définissant comme intermédiaires et en utilisant eb deploy --staged (qui effectue un déploiement standard). Ou validez d'abord vos modifications sur une branche de développement ou de test, puis fusionnez-les avec votre branche principale uniquement lorsque votre code est prêt. Avec eb use, vous pouvez configurer l'interface de ligne de commande EB pour déployer vers un environnement de votre branche de développement et vers un autre environnement de votre branche principale.

Note

Certaines régions ne proposent pas CodeCommit. L'intégration entre Elastic Beanstalk et CodeCommit ne fonctionne pas dans ces régions.

Pour de plus amples informations sur les services AWS proposés dans chaque région, veuillez consulter le Tableau des régions.

Prérequis

Pour utiliser CodeCommit avec AWS Elastic Beanstalk, vous avez besoin d'un référentiel Git local (celui que vous possédez déjà ou un nouveau que vous créez) ayant au moins une validation, l'autorisation d'utiliser CodeCommit et un environnement Elastic Beanstalk dans une région prise en charge par CodeCommit. Votre environnement et votre référentiel doivent être dans la même région.

Pour initialiser un référentiel Git
  1. Exécutez git init dans votre dossier de projet.

    ~/my-app$ git init
  2. Organisez vos fichiers de projet avec git add.

    ~/my-app$ git add .
  3. Validez les modifications avec git commit.

    ~/my-app$ git commit -m "Elastic Beanstalk application"

Création d'un référentiel CodeCommit avec l'interface de ligne de commande EB

Pour démarrer avec CodeCommit, exécutez la commande eb init. Lors de la configuration du référentiel, l'interface de ligne de commande EB vous invite à utiliser CodeCommit pour stocker votre code et accélérer les déploiements. Même si vous avez déjà configuré votre projet à l'aide de la commande eb init, vous pouvez l'exécuter à nouveau pour configurer CodeCommit.

Pour créer un référentiel CodeCommit avec l'interface de ligne de commande EB
  1. Exécutez eb init dans votre dossier de projet. Lors de la configuration, l'interface de ligne de commande EB vous demande si vous souhaitez utiliser CodeCommit pour stocker votre code et accélérer les déploiements. Si vous avez déjà configuré votre projet à l'aide de la commande eb init, vous pouvez l'exécuter à nouveau pour configurer CodeCommit. Entrez y à l'invite pour configurer CodeCommit.

    ~/my-app$ eb init Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y
  2. Choisissez Create new Repository (Créer un nouveau référentiel).

    Select a repository 1) my-repo 2) [ Create new Repository ] (default is 2): 2
  3. Tapez un nom de référentiel ou appuyez sur Entrée pour accepter le nom par défaut.

    Enter Repository Name (default is "codecommit-origin"): my-app Successfully created repository: my-app
  4. Sélectionnez une branche existante pour vos validations ou utilisez l'interface de ligne de commande EB pour créer une nouvelle branche.

    Enter Branch Name ***** Must have at least one commit to create a new branch with CodeCommit ***** (default is "mainline"): ENTER Successfully created branch: mainline

Déploiement à partir de votre référentiel CodeCommit

Lorsque vous configurez CodeCommit avec votre référentiel, l'interface de ligne de commande EB utilise le contenu du référentiel pour créer des bundles de fichiers source. Lorsque vous exécutez eb deploy ou eb create, l'interface de ligne de commande EB exécute un push sur les nouvelles validations et utilise la révision HEAD de votre branche pour créer l'archive déployée sur les instances EC2 de votre environnement.

Pour utiliser l'intégration CodeCommit avec l'interface de ligne de commande EB
  1. Créez un nouvel environnement avec eb create.

    ~/my-app$ eb create my-app-env Starting environment deployment via CodeCommit --- Waiting for application versions to be pre-processed --- Finished processing application version app-ac1ea-161010_201918 Setting up default branch Environment details for: my-app-env Application name: my-app Region: us-east-2 Deployed Version: app-ac1ea-161010_201918 Environment ID: e-pm5mvvkfnd Platform: 64bit Amazon Linux 2016.03 v2.1.6 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-10-10 20:20:29.725000+00:00 Printing Status: INFO: createEnvironment is starting. ...

    L'interface de ligne de commande EB utilise la dernière validation de la branche suivie pour créer la version de l'application déployée dans l'environnement.

  2. Lorsque vous avez de nouvelles validations locales, utilisez eb deploy pour pousser les validations et les déployer dans votre environnement.

    ~/my-app$ eb deploy Starting environment deployment via CodeCommit INFO: Environment update is starting. INFO: Deploying new version to instance(s). INFO: New application version was deployed to running EC2 instances. INFO: Environment update completed successfully.
  3. Pour tester les modifications avant de les valider, utilisez l'option --staged pour déployer les modifications que vous avez ajoutées à la zone intermédiaire avec git add.

    ~/my-app$ git add new-file ~/my-app$ eb deploy --staged

    Le déploiement avec l'option --staged effectue un déploiement standard, qui ignore CodeCommit.

Configuration de branches et environnements supplémentaires

La configuration CodeCommit s'applique à une seule branche. Vous pouvez utiliser eb use et eb codesource pour configurer des branches supplémentaires ou modifier la configuration de la branche actuelle.

Pour configurer l'intégration CodeCommit avec l'interface de ligne de commande EB
  1. Pour modifier la branche distante, utilisez l'option eb use de la commande --source.

    ~/my-app$ eb use test-env --source my-app/test
  2. Pour créer une nouvelle branche et un nouvel environnement, extrayez une nouvelle branche, transmettez-la à CodeCommit, créez l'environnement, puis utilisez la commande eb use pour connecter la branche locale, la branche distante et l'environnement.

    ~/my-app$ git checkout -b production ~/my-app$ git push --set-upstream production ~/my-app$ eb create production-env ~/my-app$ eb use --source my-app/production production-env
  3. Pour configurer CodeCommit de manière interactive, utilisez la commande eb codesource codecommit.

    ~/my-app$ eb codesource codecommit Current CodeCommit setup: Repository: my-app Branch: test Do you wish to continue (y/n): y Select a repository 1) my-repo 2) my-app 3) [ Create new Repository ] (default is 2): 2 Select a branch 1) mainline 2) test 3) [ Create new Branch with local HEAD ] (default is 1): 1
  4. Pour désactiver l'intégration CodeCommit, utilisez la commande eb codesource local.

    ~/my-app$ eb codesource local Current CodeCommit setup: Repository: my-app Branch: mainline Default set to use local sources

Utilisation d'un référentiel CodeCommit existant

Si vous possédez déjà un référentiel CodeCommit et que vous souhaitez l'utiliser avec Elastic Beanstalk, exécutez la commande eb init à la racine de votre référentiel Git local.

Pour utiliser un référentiel CodeCommit existant avec l'interface de ligne de commande EB
  1. Clonez votre référentiel CodeCommit.

    ~$ git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/my-app
  2. Extrayez et transmettez une branche à utiliser pour votre environnement Elastic Beanstalk.

    ~/my-app$ git checkout -b dev-env ~/my-app$ git push --set-upstream origin dev-env
  3. Exécutez eb init. Sélectionnez les mêmes région, référentiel et nom de branche que ceux que vous utilisez actuellement.

    ~/my-app$ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 1 ... Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y Select a repository 1) my-app 2) [ Create new Repository ] (default is 1): 1 Select a branch 1) mainline 2) dev-env 3) [ Create new Branch with local HEAD ] (default is 2): 2

Pour de plus amples informations sur l'utilisation de la commande eb init, veuillez consulter Configuration de l'interface de ligne de commande EB.