연습 - IntelliJ IDE에서 앱 배포 관리

완료됨

이전 단원에서는 IntelliJ용 Azure 도구 키트의 Azure 탐색기를 통해 Azure 웹앱을 관리하고 구성할 수 있다는 것을 배웠습니다. 이 연습에서는 Azure Explorer를 사용하여 IntelliJ IDEA 내 Azure App Service의 웹앱에서 로그를 스트리밍하는 방법을 알아보세요.

다음으로, Azure Explorer를 사용하여 구성에 속성 쌍을 추가하여 웹앱을 수정합니다. 이러한 속성의 값을 읽고 웹앱 논리에서 사용하도록 웹앱을 수정합니다. 그런 다음 웹앱을 다시 배포하고 예상대로 작동하는지 확인합니다.

로그 스트리밍을 사용하여 앱 모니터링

  1. IntelliJ IDEA보기 메뉴에서 도구 창을 선택한 다음, Azure Explorer를 선택합니다.

  2. Azure 탐색기 창에서 Web Apps를 확장하고 웹앱을 마우스 오른쪽 단추로 클릭한 다음 스트리밍 로그 시작을 선택합니다.

    Azure 탐색기 창의 웹앱에 대한 상황에 맞는 메뉴 스크린샷

  3. 몇 초 후에 로그가 표시됩니다. 웹앱에 액세스하여 일부 로그를 생성할 수 있습니다.

    HTTP 403 메시지를 표시하는 웹 브라우저 스크린샷

  4. 스트리밍 로그를 중지하려면 웹앱을 마우스 오른쪽 버튼으로 클릭하고 로그 스트리밍 중지를 선택합니다.

웹앱에 구성 속성 추가

  1. Azure 탐색기 창에서 웹앱을 마우스 오른쪽 단추로 클릭한 다음 속성 표시를 선택합니다. 웹앱의 속성 창이 표시됩니다.

    웹앱의 속성 창 스크린샷

  2. 속성 창에서 추가 아이콘을 선택하여 새 속성 키와 값을 추가합니다.

  3. 새 속성의 이름 열에 Delay라는 이름을 입력합니다.

  4. 속성의 열에 값 2를 입력한 다음 Enter 키를 누릅니다.

  5. 속성 창에서 추가 아이콘을 다시 선택합니다.

  6. Iterations라는 다른 속성을 추가하고 값 10을 지정합니다.

    새 속성 및 값을 보여 주는 웹앱의 속성 창 스크린샷

  7. 저장을 선택합니다.

속성을 사용하도록 웹앱 수정

  1. 프로젝트 탐색기 창에서 index.jsp 두 번 클릭하여 다시 엽니다.

  2. <body> 웹 페이지의 코드 섹션에서 다음과 같이 코드를 업데이트합니다.

    <body>
        <%! int delayms = Integer.valueOf(System.getenv("Delay")) * 1000;
            int iterations = Integer.valueOf(System.getenv("Iterations"));
            DateFormat fmt = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); %>
        <%  for (int i = 0; i < iterations; i++) {
            Thread.sleep(delayms); %>
            <p>Today's date is <%= fmt.format(new Date()) %></p>
        <% } %>
        <p>Your IP address is <%= request.getRemoteAddr() %></p>
    </body>
    

    이 코드는 웹앱 런타임에 대한 환경 변수로 노출되는 두 속성의 값을 읽습니다. 이 코드는 지연 초 간격으로 날짜와 시간을 표시하고, 반복 횟수만큼 반복합니다.

    비고

    이 예제에서 코드는 출력을 생성할 때 동기적으로 실행됩니다. 즉, 페이지가 표시되는 데 최대 20초가 걸릴 수 있습니다.

  3. 파일 메뉴에서 모두 저장을 선택합니다.

  4. 프로젝트 탐색기 창에서 웹앱을 마우스 오른쪽 단추로 클릭하고 Azure를 선택한 다음, Azure Web Apps에 배포를 선택합니다.

  5. 웹앱 배포 창에서 기본 설정을 그대로 적용한 다음 실행을 선택합니다. 이 작업은 기존 웹앱을 새 버전으로 덮어씁니다.

  6. Azure 활동 로그 창에서 진행률 열이 웹앱이 성공적으로 배포되었음을 표시할 때까지 기다립니다.

  7. Azure 활동 로그 창에서 게시됨 링크를 선택합니다. 새 브라우저 창이 열립니다. 20초 후에 2초 간격으로 시간을 표시하는 메시지와 클라이언트 컴퓨터의 IP 주소가 표시됩니다.

    새 버전의 웹앱을 실행하는 웹 브라우저 스크린샷.

    비고

    웹 사이트가 게시되는 동안 웹 사이트로 이동하려고 하면 HTTP 403 오류가 표시됩니다. 이 경우 몇 초 정도 기다렸다가 웹 브라우저를 새로 고칩니다.

  8. 브라우저 창을 열어 두고 IntelliJ IDEA로 돌아갑니다.

  9. Azure 탐색기 창에서 웹앱을 마우스 오른쪽 단추로 클릭한 다음 속성 표시를 선택합니다.

  10. 속성 창에서 Delay 속성을 선택하고 필드를 두 번 클릭하여 편집합니다. 값을 1로 변경합니다.

  11. 반복 속성을 선택하고 값을 5로 변경합니다.

  12. 저장을 선택합니다.

  13. 웹 브라우저로 다시 전환하여 화면을 새로 고칩니다. 이번에는 페이지에 1초 간격으로 시간이 표시되며 5번만 반복됩니다. 웹앱을 다시 배포할 필요가 없습니다.

    수정된 버전의 웹앱을 실행하는 웹 브라우저의 스크린샷

중요합니다

IntelliJ용 Azure 도구 키트를 사용하여 웹앱을 삭제해도 앱 서비스 계획은 삭제되지 않지만 Azure Portal을 사용하여 계획을 제거할 수 있습니다. 이렇게 하려면 다음 이미지와 같이 적절한 리소스 그룹으로 이동하여 App Service 계획을 선택한 다음 삭제를 클릭합니다.

Azure Portal의 스크린샷. 사용자가 App Service 계획을 삭제하고 있습니다.