비디오: WebSphere Liberty Server와 DevOps

다음은 "WebSphere® Liberty 서버의 DevOps" 비디오에 대한 내용으로, Liberty 서버 DevOps 및 몇 가지 개방형 소스 도구를 포함한 애플리케이션을 개발하고 빌드하고 배치하는 방법을 보여줍니다. 이 내용은 비디오 스토리보드입니다. 오디오는 나레이션과 캡션을 설명합니다. 화면상의 동작은 비디오에 표시되는 내용을 설명합니다.

비디오 데모 - WebSphere Liberty Server와 DevOps

표 1. 제목 페이지. 제목을 표시한 후 애플리케이션을 빌드, 업데이트, 테스트 및 배치하는 방법에 대한 기본 개요를 표시합니다.
화면 오디오 화면 상의 동작
1 이 데모는 WebSphere Liberty Server 및 일련의 공통 개방형 소스 도구로 애플리케이션을 빌드 및 배치하기 위한 기능을 제공하는 방법을 보여줍니다. 제목 Demo - WebSphere Liberty Server와 DevOps를 보여줍니다.
2 소스 제어를 위해 Git를 사용하고, 애플리케이션 개발을 위해 WebSphere Application Server Developer Tools를 사용하며, 빌드를 위해서는 Maven을 사용하게 됩니다. 다음 옵션을 사용하는 1. 애플리케이션 개발 및 빌드의 이미지를 보여줍니다.
  • Git
  • WebSphere Developer Tools(WDT)
  • Maven
3 또한 Liberty에서 실행 중인 웹 애플리케이션에 대해 변경사항을 작성하고 이러한 변경사항을 Eclipse IDE로부터 프로덕션 환경에 적용합니다. WDT를 사용하는 2. 애플리케이션 업데이트 이미지를 보여줍니다.
4 Apache Maven을 WebSphere Liberty Maven 플러그인과 함께 사용하여 변경사항 확인을 위한 통합 테스트를 실행합니다. Liberty Maven 플러그인으로 3. 애플리케이션 테스트 이미지를 보여줍니다.
5 또한 연속 통합을 위해 Jenkins를 사용합니다. Jenkins를 사용하는 4. 연속 통합의 이미지를 보여줍니다.
6 Chef를 사용하여 새 빌드를 프로덕션 환경에 넣습니다.

Liberty는 모든 위의 DevOps 시나리오에 대한 Java™ Platform, Enterprise Edition입니다. 이제 Airline 애플리케이션 - AcmeAir를 이 데모의 샘플로 사용하겠습니다. 제어 가능하고 반복이 용이한 DevOps 실행을 보여줍니다.

Chef를 사용하는 5. 연속 배치의 이미지를 보여줍니다.
표 2. 애플리케이션 개발 및 빌드 데모
화면 오디오 화면 상의 동작
7 이제 첫 번째 시나리오: 애플리케이션 개발 및 빌드를 시작하겠습니다.

WDT가 사전 설치되어 있는 Eclipse를 여십시오.

  1. Maven과 함께 사용할 작업공간 환경 설정을 지정하겠습니다.
  2. 그런 다음 AcmeAir 애플리케이션이 포함된 Git 저장소를 복제하고, Git 저장소 URI를 지정하겠습니다.
  3. 그런 다음 Maven 기반 AcmeAir 프로젝트를 가져오겠습니다. 이 저장소에는 5개의 Maven 기반 프로젝트가 있습니다.
  4. 이제 Maven 빌드를 실행하여 프로젝트를 빌드하고 애플리케이션 아티팩트를 작성할 수 있습니다. 완료되면 빌드에 성공했는지 확인하십시오.
  5. 이제 Liberty 서버를 작성하여 Eclipse에서 애플리케이션을 실행할 수 있습니다. Liberty 설치 디렉토리를 지정하십시오.
  6. 또한 Liberty 서버의 이름을 지정하십시오.
  7. 그런 다음 server.xml을 열어 AcmeAir 애플리케이션을 실행하도록 서버를 구성할 수 있습니다.
    • 먼저 <httpEndpoint> 엔드포인트를 지정하겠습니다.
    • 그리고 애플리케이션 데이터에 대한 Derby 데이터베이스를 참조하는 데이터베이스 구성을 추가하겠습니다.
  8. WebSphere Liberty 서버 및 AcmeAir 애플리케이션을 시작하십시오.
  9. 이제 애플리케이션에 로그인하여 이를 사용해 보십시오.
  10. 목적지 및 출발 도시를 선택할 수 있습니다. 사용 가능한 항공사 티켓을 확인하고 예약하십시오.
제목 1단계 애플리케이션 개발 및 빌드를 보여줍니다.

WDT를 사용하는 애플리케이션을 개발 및 빌드하기 위한 다음 단계를 보여주는 데모입니다.

WDT가 사전 설치되어 있는 Eclipse를 여십시오.

  1. Maven과 함께 사용할 작업공간 환경 설정을 설정하십시오. 모든 Maven 값 설정 단추를 클릭하십시오.
  2. Git 저장소 URI를 지정하여 AcmeAir 애플리케이션이 포함된 Git 저장소를 복제합니다.
  3. Maven 기반 AcmeAir 프로젝트 세트를 가져오십시오. acmeair 저장소에는 5개의 Maven 기반 프로젝트가 포함되어 있습니다.
  4. 이제 Maven을 실행하여 프로젝트를 빌드하고 애플리케이션 아티팩트를 작성하십시오. 완료되면 빌드에 성공했는지 확인하십시오.
  5. 이제 WebSphere Liberty 서버를 작성하여 Eclipse: Liberty 설치 디렉토리 지정에서 애플리케이션을 실행할 수 있습니다.
  6. 서버 AcmeAirDemo를 이름 지정하고 acmeair-webapp 애플리케이션을 이에 추가하십시오.
  7. 서버 구성 server.xml 파일을 열어 서비스를 위해 Liberty 서버를 구성하십시오.
    • <httpEndpoint> 요소를 대체하고 구성을 추가하십시오.
    • 애플리케이션 데이터에 대한 Derby 데이터베이스를 참조하는 데이터베이스 구성을 추가하십시오.
  8. WebSphere Liberty 서버 및 AcmeAir 애플리케이션을 시작하십시오.
  9. 애플리케이션 URL을 클릭하여 애플리케이션이 활성인지 확인하십시오. 비행 데이터 세트를 로드하여 애플리케이션을 초기화하십시오.
  10. 이제 AcmeAir를 사용할 준비가 되었습니다.
    • 애플리케이션에 로그인하고 비행 조치를 클릭하고 출발 아래에 뉴욕을 입력하고 도착 아래에 파리를 입력하십시오.
    • 비행 찾기 또는 비행 찾아보기 단추를 클릭하십시오.
    • 아웃바운드 비행을 결정하고 클릭하여 이를 선택하십시오.
    • 리턴 비행을 결정하고 클릭하여 이를 선택하십시오.
    • 선택 비행 예약 단추를 클릭하십시오.
표 3. 애플리케이션 업데이트 데모
화면 오디오 화면 상의 동작
8

시나리오 2에서는 애플리케이션을 신속하게 변경하고 이에 대한 연속 전달을 수행하는 방법을 보여줍니다. 시나리오를 간소화하기 위해 이제 색인화된 페이지를 아주 조금만 변경해 보겠습니다. 강조표시된 일부 컨텐츠를 ""Acme Air에 오신 것을 환영합니다""로 바꾸겠습니다. 이제 이 변경사항을 저장한 후 새로 고쳐 변경사항이 적용되는지 확인할 수 있습니다.

제목 2단계 애플리케이션 업데이트를 보여줍니다.

애플리케이션에서 업데이트 중인 색인 페이지를 보여주는 데모입니다.

표 4. 애플리케이션 테스트 데모
화면 오디오 화면 상의 동작
9 다음으로 통합 테스트를 위해 Maven 및 Liberty Maven 플러그인을 사용하겠습니다.
  1. AcmeAir 애플리케이션은 통합 테스트가 포함된 acmeair-itests 프로젝트를 가지고 있습니다.
  2. 통합 테스트를 사용으로 설정하기 위해 pom.xml 파일을 편집하겠습니다. 여기서 작성해야 하는 변경사항이 몇 가지 있지만 가장 중요한 점은 통합 테스트 전에 Liberty 서버를 시작하고 테스트 수행 후에 서버를 중지하도록 Liberty Maven 플러그인을 사용으로 설정하고 구성하는 것입니다.
  3. AcmeAir 통합 테스트를 위한 구성 실행을 작성하겠습니다.
    • 통합 테스트를 실행하려면 실행 단추를 클릭하십시오. 테스트를 완료하는 데 몇 분 정도 걸리게 되며 해당 빌드에 성공합니다.
    • 테스트 실행 전에 서버를 시작하고 테스트 후에 이를 중지하는 Liberty Maven 플러그인을 확인하려면 콘솔 출력을 검사하십시오.
  4. 테스트 보고서를 보고 결과에 오류가 없는지 확인할 수 있습니다.
  5. 다음으로 itests가 Jenkins 빌드에서 실행될 수 있도록 pom.xml 변경사항을 Git에 넣으십시오.
다음 단계를 사용하는 애플리케이션 테스트 데모입니다.
  1. AcmeAir 애플리케이션은 통합 테스트가 포함된 acmeair-itests 프로젝트를 가지고 있습니다.
  2. acmeair-itests/pom.xml 파일을 편집하여 통합 테스트의 활성화를 사용으로 설정하십시오.
  3. 사용 가능한 네트워크 포트를 찾기 위해 Helper Maven 빌드 플러그인을 사용으로 설정하십시오.
  4. 통합 테스트가 실행되기 전에 Liberty 서버를 시작하도록 Liberty Maven 플러그인을 사용으로 설정 및 구성하고, 테스트가 실행되고 나면 서버를 중지하십시오.
  5. Maven Failsafe 플러그인을 사용으로 설정하고 구성하여 통합 테스트를 실행하십시오. 테스트는 애플리케이션의 REST API를 대상으로 합니다.
  6. AcmeAir 통합 테스트를 위한 구성 실행을 작성하십시오.
    • 통합 테스트를 실행하려면 실행 단추를 클릭하십시오. 테스트를 성공적으로 완료해야 합니다.
    • 테스트 실행 전에 서버를 시작하는 Liberty Maven 플러그인을 확인하려면 콘솔 출력을 검사하십시오.
    • 테스트 후에 서버를 중지하는 Liberty Maven 플러그인을 확인하려면 콘솔 출력을 검사하십시오.
  7. target/failsafe-reports/ 디렉토리 아래의 테스트 보고서를 확인하십시오.
  8. pom.xml 변경사항을 Git에 넣으십시오. 그러면 itests가 Jenkins 빌드에서 실행될 수 있습니다.
표 5. Jenkins와의 연속 통합을 보여주는 데모
화면 오디오 화면 상의 동작
10
  1. 다음 시나리오에서는 Jenkins를 사용하여 AcmeAir 애플리케이션에 대한 빌드 작업을 작성 및 실행하겠습니다. 작업은 Git로부터 애플리케이션 코드를 체크아웃하고 애플리케이션을 컴파일하고 테스트를 실행하고 빌드 아티팩트를 공개합니다. Schedule의 구성을 통해 작업이 2분마다 Git 저장소를 폴링하고 변경사항이 발견되면 자동으로 빌드를 시작합니다.
    • Liberty 설치 디렉토리를 지정합니다.
    • 또한 빌드 후 조치를 추가하고 아티팩트 아카이브를 선택하겠습니다.
    • 1 - 2분 후에 빌드가 자동으로 시작되어야 합니다.
  2. 빌드가 완료되고 성공하고 나면 빌드 작업 결과를 검사하십시오. 테스트 결과에 실패 없음이 표시되어야 합니다.
  3. Eclipse로 다시 전환하고 Index 페이지에서 작성된 변경사항을 커미트하십시오.
  4. Jenkins로 다시 전환하면 2분 내에 새 빌드가 빌드 히스토리 테이블에 나타나야 합니다.
제목 4단계 연속 통합을 보여줍니다.

다음 단계를 사용하는 Jenkins를 통한 연속 통합을 보여주는 데모입니다.

  1. 이제 Jenkins를 사용하여 AcmeAir 애플리케이션에 대한 빌드 작업을 작성 및 실행합니다. 작업은 Git로부터 애플리케이션 코드를 체크아웃하고 애플리케이션을 컴파일하고 테스트를 실행하고 빌드 아티팩트를 공개합니다. Schedule의 구성을 통해 작업이 2분마다 Git 저장소를 폴링하고 변경사항이 발견되면 자동으로 빌드를 시작합니다.
    • 빌드 후 조치 추가 단추를 클릭하고 아티팩트 아카이브를 선택합니다.
    • 1 - 2분 후에 빌드가 자동으로 시작되어야 합니다.
  2. 빌드가 완료되고 성공하고 나면 빌드 작업 결과를 검사하십시오. acmeair-webapp-1.0-SNAPSHOT.war 파일은 빌드 아티팩트 아래 표시되어야 하고 테스트 결과는 실패 없음을 표시해야 합니다.
  3. Eclipse로 다시 전환하고 Index 페이지에서 작성된 변경사항을 커미트하십시오.
  4. Firefox로 전환하고 http://server:9080/jenkins/job/AcmeAir tests/ 주소로 이동하십시오. 2분 내에 새 빌드가 빌드 히스토리 테이블에 나타나야 합니다.
    • 새 빌드를 클릭하고 올바른 커미트 메시지가 변경 아래에 표시되는지 확인하십시오.
표 6. Chef와의 연속 배치를 보여주는 데모
화면 오디오 화면 상의 동작
11
  1. 마지막 시나리오에서는 Chef를 사용한 연속 배치를 수행하겠습니다.
    • 터미널 창을 여십시오.
    • 빈 Cookbook을 작성하십시오.
    • Cookbook의 메타데이터 파일을 편집하십시오.
    • 레시피 파일을 편집하십시오.
    • AcmeAir Cookbook을 Chef 서버에 업로드하십시오.
  2. 또한 Chef 서버로 template 노드를 등록하십시오.
  3. Chef 서버에서 template 노드 구성을 설정할 수 있습니다.
  4. 그런 다음 Chef 노드를 채울 수 있습니다. 이렇게 되면 chef-client 명령이 template 노드에서 실행됩니다. AcmeAir 애플리케이션은 완전히 배치되어야 하며 template 노드에서 실행 중이어야 합니다. 이를 확인하려면 Firefox로 전환하고 template 애플리케이션 서버를 열어 결과를 확인하십시오.
  5. 그런 다음 모든 통합 테스트에 통과한 후에만 chef-clienttemplate 노드에서 호출하여 이를 업데이트하는 새 Jenkins 빌드 작업을 작성합니다.
    • Jenkins 콘솔에서 AcmeAir tests 작업을 편집하십시오.
    • 빌드 후 조치 아래에서 빌드 후 조치를 클릭하고 다른 프로젝트 빌드를 선택하십시오.
    • 빌드할 프로젝트 아래에 AcmeAir-Chef를 입력하십시오.
    • AcmeAir tests 빌드를 요청하여 AcmeAir tests 작업이 AcmeAir-Chef 작업을 트리거하는지 확인하십시오.

지금까지 DevOps 실행을 Liberty 및 공통 개방형 소스 도구로 살펴보았습니다. 이제 전체 엔드 투 엔드 DevOps 시나리오를 모두 반복적으로 시도할 수 있습니다. 이 데모에서 Chef, WDT, Maven 및 Jenkins를 선택할 경우 이러한 기술은 uDeploy®, Puppet 등의 다른 DevOps 도구와 쉽게 교환될 수 있습니다. 참석해 주셔서 감사합니다.

제목 5단계 연속 배치를 보여줍니다.

다음 단계를 사용하는 Chef로 연속 배치를 보여주는 데모입니다.

  1. Cookbook을 작성하여 AcmeAir를 배치하십시오.
    • 터미널 창을 여십시오.
    • 빈 Cookbook을 작성하십시오.
    • Cookbook의 메타데이터 파일을 편집하십시오.
    • default.rb 레시피 파일을 편집하십시오.
    • AcmeAir Cookbook을 Chef 서버에 업로드하십시오.
  2. Chef 노드를 부트스트랩 처리하고 template 노드를 Chef 서버와 함께 등록하십시오.
  3. Chef 서버에서 template 노드 구성을 구성하십시오.
  4. Chef 노드를 채우십시오. knife ssh name:template sudo chef-client 명령을 실행하십시오. 이렇게 되면 chef-client 명령이 template 노드에서 실행됩니다. Chef-client는 노드에서 일련의 Cookbook을 실행합니다. AcmeAir 애플리케이션은 완전히 배치되어야 하며 template 노드에서 실행 중이어야 합니다. 확인하려면 Firefox로 전환하고 http://template:9081/acmeair/ 주소를 여십시오.
  5. Chef 노드를 Jenkins로 자동으로 채우십시오. 모든 통합 테스트에 통과한 후에만 chef-clienttemplate 노드에서 호출하여 이를 업데이트하는 새 Jenkins 빌드 작업을 작성합니다.
    • Jenkins 콘솔에서 AcmeAir tests 작업을 편집하십시오.
    • 빌드 후 조치 아래에서 빌드 후 조치를 클릭하고 다른 프로젝트 빌드를 선택하십시오.
    • 빌드할 프로젝트 아래에 AcmeAir-Chef를 입력하십시오.
    • AcmeAir tests 빌드를 요청하여 AcmeAir tests 작업이 AcmeAir-Chef 작업을 트리거하는지 확인하십시오.

주제의 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=video_transcript_dev_ops_demo
파일 이름: video_transcript_dev_ops_demo.html