1

我通過AWS Java API爲該應用程序創建了Elastic Beanstalk應用程序和環境。現在環境正在運行示例應用程序。我只需要通過Java API將新的war文件部署到環境中。怎麼做?

這是我創造環境的代碼,通過JAVA API向AWS Elastic Beanstalk環境部署新戰役

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); 

回答

1

首先你上傳的war文件S3存儲,然後參照其新的戰爭文件的S3存儲位置創建新的青苗應用程序版本。之後,上傳並將新應用程序版本部署到實例。您可以使用下面的Java SDK來做到這一點,

 // 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

謝謝.....它適用於我... – Nithyananth

相關問題