我尝试通过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);
??你能帮我吗..
答案 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)。