실행중인 Java 응용 프로그램에서 실행중인 beanstalk에서 현재 실행중인 beanstalk 버전 레이블을 어떻게 얻을 수 있습니까?Java 코드는 현재 실행중인 beanstalk 버전 레이블을 얻으려고합니까?
[다중 편집 나중에 ...] 소니 (아래 참조) 몇 앞뒤로 주석 후
, 나는 지금 나를 위해 작동 다음 코드를 썼다. 배포 할 때 버전 레이블에 의미있는 주석을 넣으면 실행중인 내용을 알려줍니다. 우리는 지속적인 빌드 환경을 가지고 있으므로 빌드 환경에서 관련 코드에 대한 체크인 주석으로 이어지는 레이블을 제공 할 수 있습니다. 이 모든 것을 합치면 서버가 소스 코드 체크인과 관련하여 실행중인 코드를 정확하게 알려줄 수 있습니다. 우리에게 정말 유용합니다. 이제 사실 저는 여기에 제 자신의 질문에 대답하고 있지만 소니의 도움으로 귀중한 도움을 얻고 있습니다. 하드 코딩 된 값을 제거 할 수 없으며 런타임에 해당 값을 쿼리 할 수 없다는 것은 부끄러운 것 같습니다.
String getMyVersionLabel() throws IOException {
Region region = Region.getRegion(Regions.fromName("us-west-2")); // Need to hard-code this
AWSCredentialsProvider credentialsProvider = new ClasspathPropertiesFileCredentialsProvider();
AWSElasticBeanstalkClient beanstalk = region.createClient(AWSElasticBeanstalkClient.class, credentialsProvider, null);
String environmentName = System.getProperty("PARAM2", "DefaultEnvironmentName"); // Need to hard-code this too
DescribeEnvironmentsResult environments = beanstalk.describeEnvironments();
for (EnvironmentDescription ed : environments.getEnvironments()) {
if (ed.getEnvironmentName().equals(environmentName)) {
return "Running version " + ed.getVersionLabel() + " created on " + ed.getDateCreated());
break;
}
}
return null;
}
예, 해당 지역에 알려야합니다. 그렇지 않으면 기본 영역에서 가져옵니다. 도움이되는지 확인하십시오. –
감사합니다. 소니 - 올바른 지역에서 올바른 버전을 얻을 수있는 원래 질문 (위 참조)의 코드를 수정했는데, 현재 실행중인 버전이 무엇인지 어떻게 알 수 있습니까? – Danger
위의 대답에 대한 추가 정보를 추가했습니다. –