在 ElasticBeansTalk 中部署 file.war 的步骤



我尝试通过 eclipse java 代码在我的 Elastic Beanstalk 帐户中部署一个 file.war。在使用CreateApplicationRequest创建应用程序时,我必须指定源文件的位置。我的问题是,我是否应该先创建一个简单的存储桶并将我的战争文件添加到其中,然后调用它

    String S3Bucket="amazonaws.com";
     String S3Key="SampleServlet.war";
     S3Location s=new S3Location(S3Bucket,S3Key);
    CreateApplicationVersionRequest v=new CreateApplicationVersionRequest(appName,description);
        v.setVersionLabel(versionLabel);
            v.setSourceBundle(s);
    eb.createApplicationVersion(v);

??你能帮我吗..

我投票反对使用eclipse插件。我觉得它太麻烦和不可靠了。切换到 eb cli v3 并按照文档进行操作。基本上,您需要使用 git 而不是提供文件,这要容易得多。

最后我找到了一个解决方案,我应该在 S3 服务中创建一个存储桶并将文件上传到存储,然后在弹性 beanstalk 中调用它。

             AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider());
         s3client.setRegion(Region.getRegion(Regions.US_EAST_1));
         try {
         if(!(s3client.doesBucketExist(bucketName)))
         {
         s3client.createBucket(new CreateBucketRequest(bucketName));
         }
         String key="file.war";
         File file=new File("file.war");
         PutObjectRequest ob=new PutObjectRequest(bucketName,key,file);
        PutObjectResult rs=s3client.putObject(ob);

      String S3Bucket=b.getName();
      String S3Key="file.war";
    S3Location s=new S3Location(S3Bucket,S3Key);
     CreateApplicationVersionRequest v=new CreateApplicationVersionRequest(appName,description);
    v.setVersionLabel(versionLabel);
        v.setSourceBundle(s);
           eb.createApplicationVersion(v);
            // eb is ElasticBeanstalk'Client

然后要部署,只需使用updateEnvironment(appName,envName)。

最新更新