1

J'ai créé une application et un environnement Elastic Beanstalk pour cette application via AWS Java API. Maintenant, l'environnement fonctionne avec l'exemple d'application. J'ai juste besoin de déployer un nouveau fichier war dans l'environnement via l'API Java. Comment faire?

Voici mon code pour la création de l'environnement,Déploiement de la nouvelle guerre dans l'environnement AWS Elastic Beanstalk via l'API JAVA

CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest() 
       .withApplicationName("MySampleApplicationThree").withEnvironmentName("MySampleApplicationThree-env") 
       .withCNAMEPrefix("MySampleApplicationThree") 
       .withSolutionStackName("64bit Amazon Linux 2017.03 v2.6.1 running Tomcat 8 Java 8") 
       .withVersionLabel("Sample Application") 
       ; 
     CreateEnvironmentResult envresult = service.beansTalk().createEnvironment(createEnvironmentRequest); 

Répondre

1

D'abord, vous téléchargez le fichier de guerre au seau S3 puis créer une nouvelle version Beanstalk application en se référant l'emplacement du godet S3 ayant nouveau fichier de guerre. Après cela, téléchargez et déployez la nouvelle version de l'application dans l'instance. Vous pouvez le faire en utilisant Java SDK comme ci-dessous,

 // Create Environment 
      CreateEnvironmentRequest envRequest = new CreateEnvironmentRequest("SampleApplication", "SampleApplication-env2"); 
      envRequest.setSolutionStackName("64bit Amazon Linux 2017.03 v2.6.1 running Tomcat 8 Java 8"); 
      envRequest.setVersionLabel("SampleApplication"); 
      service.beansTalk().createEnvironment(envRequest); 

      // Deploy code 
      //Create S3 storage location and upload new file into it    
      CreateStorageLocationResult location = service.beansTalk().createStorageLocation(); 
      String bucket = location.getS3Bucket(); 
      File file = new File("FirstServlet.war"); 
      PutObjectRequest object = new PutObjectRequest(bucket, "FirstServlet.war", file); 
      PutObjectResult res = service.s3().putObject(object); 


      CreateApplicationVersionRequest versionRequest = new CreateApplicationVersionRequest(); 
      versionRequest.setVersionLabel("First Servlet"); 
      versionRequest.setApplicationName("SampleApplication"); 
      S3Location s3 = new S3Location(bucket, "FirstServlet.war"); 
      versionRequest.setSourceBundle(s3); 
      CreateApplicationVersionResult resu = service.beansTalk().createApplicationVersion(versionRequest); 


      UpdateEnvironmentRequest updateRequest = new UpdateEnvironmentRequest(); 
      updateRequest.setEnvironmentId("xxx"); 
      updateRequest.setVersionLabel("First Servlet"); 
      UpdateEnvironmentResult result = service.beansTalk().updateEnvironment(updateRequest); 
+0

Merci ..... Cela fonctionne bien pour moi ... – Nithyananth