在ElasticBeansTalk中部署file.war的步骤

时间:2015-02-03 13:56:24

标签: amazon-web-services amazon-s3 elastic-beanstalk

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

调用它
    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);

??你能帮我吗..

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

最后我找到了一个解决方案,我应该在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)。