public void prepareWar(File warFile, String versionLabel, String applicationName) { AmazonS3 s3 = new AmazonS3Client(awsCredentials); String bucketName = beanstalkClient.createStorageLocation().getS3Bucket(); String key; try { key = URLEncoder.encode(warFile.getName() + "-" + versionLabel, "UTF-8"); s3.putObject(bucketName, key, warFile); beanstalkClient.createApplicationVersion(new CreateApplicationVersionRequest() .withApplicationName(applicationName).withAutoCreateApplication(true) .withVersionLabel(versionLabel) .withSourceBundle(new S3Location(bucketName, key))); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block journal.log(Level.SEVERE, e.getMessage()); } }
@Override public boolean perform() throws Exception { log("Creating application version %s for application %s for path %s", getVersionLabel(), getApplicationName(), getS3ObjectPath()); CreateApplicationVersionRequest cavRequest = new CreateApplicationVersionRequest() .withApplicationName(getApplicationName()) .withAutoCreateApplication(true) .withSourceBundle(new S3Location(getBucketName(), getObjectKey())) .withVersionLabel(getVersionLabel()) .withDescription(getVersionDescription()); final CreateApplicationVersionResult result = getAwseb().createApplicationVersion(cavRequest); log("Created version: %s", result.getApplicationVersion().getVersionLabel()); return false; }
private void createApplicationVersion(String applicationName, AWSElasticBeanstalk eb, String bucketName, String objectName, String versionLabel) { log.info("creating version label=" + versionLabel); CreateApplicationVersionRequest request = new CreateApplicationVersionRequest() .withApplicationName(applicationName).withAutoCreateApplication(true) .withSourceBundle(new S3Location(bucketName, objectName)).withVersionLabel(versionLabel); eb.createApplicationVersion(request); }
public void createApplicationVersion(AWSElasticBeanstalk awseb) { AWSEBUtils.log(listener, "Creating application version %s for application %s for path %s", versionLabel, applicationName, s3ObjectPath); CreateApplicationVersionRequest cavRequest = new CreateApplicationVersionRequest().withApplicationName(applicationName).withAutoCreateApplication(true) .withSourceBundle(new S3Location(bucketName, objectKey)).withVersionLabel(versionLabel); awseb.createApplicationVersion(cavRequest); }
/** * OverridingVersion can override a version in AWS EBT. * @throws Exception If something is wrong */ @Test public void overridesVersionInEbt() throws Exception { final String app = "some-app"; final String key = "some-bundle-key"; final Bundle bundle = Mockito.mock(Bundle.class); Mockito.doReturn(key).when(bundle).name(); final AWSElasticBeanstalk ebt = Mockito.mock(AWSElasticBeanstalk.class); Mockito.doReturn(new DescribeApplicationVersionsResult()) .when(ebt).describeApplicationVersions( Mockito.any(DescribeApplicationVersionsRequest.class) ); Mockito.doReturn( new CreateApplicationVersionResult() .withApplicationVersion( new ApplicationVersionDescription() .withVersionLabel(key) ) ).when(ebt) .createApplicationVersion( Mockito.any(CreateApplicationVersionRequest.class) ); final Version version = new OverridingVersion(ebt, app, bundle); MatcherAssert.assertThat( version.label(), Matchers.equalTo(key) ); }
/** * {@inheritDoc} */ @Override public String label() { if (this.exists()) { Logger.info( this, "Version '%s' already exists for '%s'", this.bundle.name(), this.application ); } else { final CreateApplicationVersionResult res = this.client.createApplicationVersion( new CreateApplicationVersionRequest() .withApplicationName(this.application) .withVersionLabel(this.bundle.name()) .withSourceBundle(this.bundle.location()) .withDescription(this.bundle.etag()) ); final ApplicationVersionDescription desc = res.getApplicationVersion(); Logger.info( this, "Version '%s' created for '%s' (%s): '%s'", desc.getVersionLabel(), desc.getApplicationName(), this.bundle.location(), desc.getDescription() ); if (!desc.getVersionLabel().equals(this.bundle.name())) { throw new DeploymentException( String.format( "version label is '%s' while '%s' expected", desc.getVersionLabel(), this.bundle.name() ) ); } } return this.bundle.name(); }