다음을 통해 공유


알고 좋아하는 Java 도구를 사용하는 코드

Java 개발자는 사용하는 도구를 좋아합니다. 더 빠르고 더 나은 작업을 수행하기 위한 바로 가기와 비밀을 가지고 있는 것처럼, 우리는 집중하고 생산성을 유지하는 데 도움이 되는 고유한 방식으로 작업할 수 있습니다. IntelliJ, Eclipse 또는 VS Code를 코딩에 사용하든, 테스트에 JUnit을 사용하든, 종속성 관리 및 빌드 자동화를 위해 Maven 또는 Gradle을 사용하든, 선호하는 도구를 제쳐두고 새로운 것을 배우도록 강요할 수 있는 것은 없습니다. 따라서 Azure는 Java 개발자가 원하는 도구와 프레임워크 및 선택한 운영 체제에서 애플리케이션을 클라우드로 가져올 수 있도록 지원합니다. 이러한 도구 중 일부를 좀 더 자세히 살펴보겠습니다.

IDE - VS Code, IntelliJ 및 Eclipse

이상적인 IDE에는 소스 코드, 컴파일, 로컬 빌드 자동화, 테스트 및 디버깅을 편집하는 도구와 데이터 관리, 캐싱, 메시징 및 이벤트를 위한 백 엔드 서비스에 대한 컨트롤 및 모니터링 도구가 포함되어 있습니다. 이러한 모든 작업을 지원하는 통합 도구 집합을 사용하면 개발자의 생산성이 향상되어 각 작업에 대한 독립 실행형 도구 간에 배우고 지속적으로 전환할 필요가 없습니다. IntelliJ, Eclipse 및 Visual Studio Code는 인기 있는 Java IDE입니다.

Visual Studio Code의 Java

VS Code(Visual Studio Code)는 Windows, macOS 및 Linux에서 실행되는 가볍고 독립적인 운영 체제입니다. 강력한 IDE는 Java 개발을 위한 포괄적인 도구 집합을 제공합니다. Microsoft Build of OpenJDK, Amazon Corretto, Eclipse Adoptium 및 Oracle Java SE를 비롯한 모든 JDK(Java Development Kit)를 지원합니다. VS Code는 Tomcat, Spring Boot, JBoss EAP, WildFly, Quarkus, Open Liberty, Maven 및 Gradle을 비롯한 모든 Java 프레임워크, 애플리케이션 서버 및 기타 인기 있는 도구와도 잘 통합됩니다. 또한 JavaScript 및 SQL과 같이 Java 개발자가 자주 사용하는 다른 프로그래밍 언어도 지원합니다.

Java 파일 및 출력 창을 보여 주는 Visual Studio Code의 스크린샷

VS Code는 Visual Studio Code용 광범위한 Java 확장을 통해 Java 개발 워크플로를 지원하고 간소화합니다. Java에만 수백 개의 확장이 있으며 IDE 자체 내에서 검색할 수 있습니다. 기본 Java 개발을 위한 키 확장을 Java용 확장 팩으로 패키징했습니다. 이 확장 팩에는 프로젝트 관리, Maven 통합, 코드 편집, 코드 완성, 코드 탐색, 리팩터링, Linting, 서식 지정, 디버깅, JUnit/TestNG 테스트 사례 실행 및 디버깅 등에 대한 확장이 포함됩니다. Spring Initializr 지원을 포함하여 Spring Boot 애플리케이션을 개발하고 배포하기 위한 Spring Boot 확장 팩있습니다.

Azure 엔지니어링 팀에서 빌드한 Azure 도구 확장 팩Java 애플리케이션에 전력을 공급하는 데 도움이 되는 모든 Azure 클라우드 서비스를 검색하고 상호 작용하기 위한 다양한 확장 집합을 제공합니다. Java 앱을 작성, 디버깅 및 테스트할 때 VS Code 내에서 모든 확장을 사용할 수 있습니다. 앱을 배포할 준비가 되면 Azure 도구 확장 팩은 Azure에서 Java 애플리케이션 실행을 위해 제공하는 다양한 컴퓨팅 서비스에 대한 원클릭 배포를 지원합니다.

Visual Studio Code 의 Java는 Java 개발을 위해 가장 인기 있는 Visual Studio Code 확장에 대한 좋은 개요를 제공합니다. 또한 Visual Studio Code를 사용하여 Java 개발을 시작하기 위한 지침과 Java 개발자의 생산성을 높이는 데 도움이 되는 다양한 방법을 연습합니다.

VS Code에서 Java 시작은 헬로 월드 프로그램을 작성하고 실행하는 방법을 포함하여 Java 개발을 위한 VS Code 설정을 다루는 간단한 자습서를 제공합니다. 마찬가지로 Visual Studio Code를 사용하여 Java 애플리케이션을 빌드한 다음, 한 번의 클릭으로 배포하는 방법을 보여 주는 간단한 자습서가 있습니다. 예를 들면 다음과 같습니다.

VS Code에서 Java를 처음으로 사용하는 경우 기본 명령 팔레트에서 "Java: 초보자를 위한 팁" 명령을 사용해 보세요.

Java 파일 및 사이드바 창을 보여 주는 Visual Studio Code의 스크린샷

Azure Toolkit for IntelliJ

IntelliJ용 Azure 도구 키트를 사용하면 Java 개발자가 IntelliJ IDE를 사용하여 Java 애플리케이션을 만들고, 개발하고, 테스트하고, Azure에 배포할 수 있습니다. 예를 들어 개발자는 이를 사용하여 다음 작업을 수행할 수 있습니다.

이러한 모든 예제는 Azure에서 Java를 실행하기 위해 컴퓨팅 서비스를 사용하며, 이 설명서는 이 설명서의 뒷부분에서 자세히 설명합니다. Spring Cloud Azure 통합은 IntelliJ의 Spring Initializr 환경을 통해 제공됩니다. Java 프로젝트에 적절한 Java 라이브러리 및 드라이버 (Java용 Azure SDK 포함)를 종속성으로 추가하기만 하면 됩니다.

Microsoft는 클라우드 네이티브 개발을 위한 새로운 환경과 Azure Kubernetes Service 및 Application Insights와의 통합을 포함하여 Azure 서비스와의 심층 통합을 포함하여 IntelliJ에 더 많은 기능을 제공하기 위해 시간과 리소스를 적극적으로 투자하고 있습니다.

Java 파일 및 Azure에 배포 대화 상자를 보여 주는 IntelliJ의 스크린샷

Eclipse용 Azure 도구 키트

Eclipse용 Azure 도구 키트를 사용하면 Java 개발자가 Eclipse IDE를 사용하여 Java 애플리케이션을 만들고 개발, 테스트 및 Azure에 배포할 수 있습니다. 여기에는 Java용 Azure SDK를 비롯한 주요 Java 라이브러리 및 드라이버가 포함됩니다. 개발자는 Eclipse용 Azure 도구 키트를 사용하여 Eclipse IDE에서 다음 작업을 수행할 수 있습니다.

  • Java Web Apps를 Azure 앱 Service 및 App Service의 사용자 지정 컨테이너에 배포합니다.
  • Java 또는 Spring 애플리케이션 또는 컨테이너화된 애플리케이션을 Azure Container Apps에 배포합니다.
  • Maven 또는 Gradle 플러그 인을 사용하여 Azure Functions에 서버리스 애플리케이션을 배포합니다.

종속성 관리 및 빌드 자동화 - Maven, Gradle 및 GitHub

Maven과 Gradle은 두 가지 인기 있는 프로젝트 관리, 종속성 관리 및 Java 애플리케이션용 빌드 자동화 도구입니다. 이러한 도구는 인기 있는 Java IDE에 잘 통합되어 있으며, 원클릭 배포를 통해 각 도구에 대한 플러그 인 집합을 통해 Azure 지원.

Azure Services용 Maven 플러그 인

Azure 서비스에 대한 Maven 플러그 인을 사용하면 Maven 개발 워크플로를 Azure로 확장하고, Java 애플리케이션을 로컬로 테스트한 다음, Azure 인증 방법 및 Azure 역할 기반 액세스 제어와 통합되는 방식으로 한 단계로 Azure 서비스에 배포할 수 있습니다. Azure 앱 Service용 Maven 플러그 인을 사용하면 Maven Java 웹 애플리케이션 프로젝트를 Azure 앱 Service 및 App Service의 사용자 지정 컨테이너에 배포할 수 있습니다. Azure Functions용 Maven 플러그 인을 사용하면 Maven 서버리스 Java 애플리케이션 프로젝트를 Azure Functions에 배포할 수 있습니다.

'mvn azure-webapp:deploy'라는 텍스트와 Java 웹앱 및 종속성 배포라는 제목이 있는 랩톱 화면을 보여 주는 다이어그램

Azure Services용 Gradle 플러그 인

Azure 서비스에 대한 Gradle 플러그 인은 Maven의 플러그 인과 유사합니다. 이를 통해 Azure 인증 방법 및 Azure 역할 기반 액세스 제어와 통합되는 방식으로 단일 단계로 Azure 서비스에 Java 애플리케이션을 배포할 수 있습니다. Azure 앱 Service용 Gradle 플러그 인을 사용하면 Gradle Java 웹 애플리케이션 프로젝트를 Azure 앱 Service 및 App Service의 사용자 지정 컨테이너에 배포할 수 있으며, Azure Functions용 Gradle 플러그 인을 사용하면 Gradle 서버리스 Java 애플리케이션 프로젝트를 Azure Functions에 배포할 수 있습니다.

'gradle azureWebAppDeploy' 텍스트와 한 단계에서 Java 웹앱 배포라는 제목이 있는 랩톱 화면을 보여 주는 다이어그램

GitHub

GitHub는 350만 개 이상의 Java 애플리케이션에 DevOps 환경을 제공하는 Java 애플리케이션에 널리 사용되는 리포지토리입니다. Java용 GitHub Actions를 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 요청된 버전의 Java를 다운로드하고 설치합니다.
  • 로컬 파일에서 Java의 사용자 지정 버전을 추출하고 캐시합니다.
  • Maven, Gradle 또는 GPG 프라이빗 키를 사용하여 게시할 실행기를 구성합니다.
  • 오류 출력에 대한 문제 일치자를 등록합니다.
  • Maven 또는 Gradle에서 관리하는 캐시 종속성입니다.

GitHub Actions를 사용하면 세계적 수준의 CI/CD를 사용하여 모든 Java 소프트웨어 워크플로를 쉽게 자동화할 수 있습니다. GitHub에서 바로 코드를 빌드, 테스트 및 Azure에 배포할 수 있습니다. 코드 검토, 분기 관리 및 원하는 방식을 이슈를 심사합니다. Java 애플리케이션을 실행하기 위해 Azure 서비스에 배포할 수 있습니다.

GitHub는 GitHub Codespaces 또는 VS Code Remote - Containers를 통해 액세스할 수 있는 Java용 개발 컨테이너도 지원합니다.

Jenkins 파이프라인

Azure에서 Java를 실행하는 많은 Microsoft 고객은 오픈 소스 자동화 서버인 Jenkins를 사용하여 애플리케이션을 빌드, 테스트 및 배포합니다. Jenkins를 사용하는 경우 CI/CD 빌드에 Jenkins를 계속 사용하는 동안 Azure DevOps, GitHub 또는 기타 소스 코드 관리 시스템에서 소스 코드를 관리할 수 있습니다. 예를 들어 프로젝트의 Git 리포지토리에 코드를 푸시할 때 Jenkins 빌드를 트리거합니다.

Azure Pipelines

Azure DevOps 서비스의 일부 인 Azure Pipelines 를 사용하면 Java 애플리케이션을 지속적으로 빌드, 테스트 및 모든 플랫폼 및 클라우드에 배포할 수 있습니다. 소스 제어를 위해 GitHub(또는 Azure Repos)와 함께 작동하므로 Maven 또는 Gradle 을 사용하여 빌드한 다음 Java 애플리케이션을 실행하기 위해 Azure 서비스에 배포할 수 있습니다.

Azure 명령줄 인터페이스

CLI(Azure 명령줄 인터페이스)는 명령줄 프롬프트 또는 스크립트를 통한 터미널 명령 실행을 포함하여 Azure 리소스를 만들고, 연결하고, 관리하기 위한 플랫폼 간 명령줄 도구입니다. Linux, macOS 또는 Windows 기반 머신에 로컬로 Azure CLI를 설치하거나, 컨테이너 내에서 실행하거나, Azure Cloud Shell을 통해 브라우저에서 Azure CLI에 액세스할 수 있습니다.

다음 예제에서는 Azure CLI를 사용하여 AZURE Container Apps에 JAR 또는 WAR 파일을 배포하는 방법을 보여줍니다.

az containerapp up \
    --name <CONTAINER_APP_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --subscription <SUBSCRIPTION_ID> \
    --location <LOCATION> \
    --environment <ENVIRONMENT_NAME> \
    --artifact <JAR_FILE_PATH_AND_NAME> \
    --ingress external \
    --target-port 8080 \
    --query properties.configuration.ingress.fqdn

요약

Azure에서 Java를 사용하는 경우 고유한 도구를 선택할 수 있습니다. Windows, macOS, Linux 및 클라우드 기반 머신을 포함하여 선택한 컴퓨터를 사용하여 모든 Java 애플리케이션(다각형 애플리케이션 포함)을 빌드하고, 디버그하고, 문제를 해결할 수 있습니다. 애플리케이션 서버 또는 임베디드 애플리케이션 서버를 사용하여 Azure에 애플리케이션을 배포할 수도 있습니다.

이 문서에 설명된 도구의 '알고 좋아하는 Java 도구를 사용하는 코드'와 로고가 있는 다이어그램

다음 단계

안심하고 쉽게 Java 애플리케이션 배포