build.xml로 배포 정복하기: WebSphere 6에서 EAR의 예

애플리케이션 배포는 특히 WebSphere와 같은 엔터프라이즈급 서버를 사용할 때 daunting한 도전이 될 수 있습니다. 개발자들이 자주 직면하는 질문 중 하나는 ANT를 사용하여 Enterprise Archive (EAR) 파일을 배포하기 위한 효과적인 빌드 프로세스를 어떻게 설정하느냐입니다. 이 기사에서는 WebSphere 6.1에서 EAR 애플리케이션을 배포하기 위해 특별히 설계된 build.xml 파일을 만드는 상세한 예제를 살펴보겠습니다. 이 과정을 간소화하여 애플리케이션을 언제 어디서나 쉽게 다시 컴파일하고 재배포할 수 있도록 도와주고자 합니다.

EAR 배포의 도전

왜 Ant를 사용해야 할까요?

개발 환경에서 많은 개발자들이 Rational Application Development에서 Apache Ant로 전환하고 있습니다. 그 이유는 Ant의 간단한 구조와 접근성 때문입니다. Ant는 개발자가 빌드 프로세스를 자동화할 수 있게 해주며, 이는 배포 일관성에 매우 중요합니다.

동료들이 Ant로 전환하도록 설득하려면, 실용적인 예제와 배포 관리를 쉽게 할 수 있는 방법을 제공해야 합니다. 여기서 잘 구조화된 build.xml이 큰 역할을 합니다.

환경 설정

코드에 들어가기 전에 다음이 필요하다는 것을 아는 것이 중요합니다:

  • 환경: 적절한 플랫폼(예: Fedora 8)에서 WebSphere Application Server (WAS) 6.1을 실행하고 있어야 합니다.
  • ANT: Apache Ant가 환경에 설정되어 있어야 하며, 이의 태스크를 효과적으로 활용할 수 있어야 합니다.

build.xml 구조 이해하기

build.xml 파일은 빌드 프로세스를 안내합니다. 아래는 Ant를 사용하여 EAR 파일을 배포하는 데 집중한 샘플 구성을 보여줍니다.

애플리케이션 목록 나열하기

먼저, WAS에 설치된 애플리케이션을 나열하는 타겟을 생성하겠습니다.

<?xml version="1.0"?>
<project name="project" default="wasListApps" basedir=".">
    <description>설치된 앱을 나열하는 스크립트입니다.</description>
    <property name="was_home" value="/opt/IBM/SDP70/runtimes/base_v61/"/>

    <path id="was.runtime">
        <fileset dir="${was_home}/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${was_home}/plugins">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <target name="wasListApps">
        <taskdef name="wsListApp" classname="com.ibm.websphere.ant.tasks.ListApplications" classpath="${was.runtime}"/>
        <wsListApp wasHome="${was_home}"/>
    </target>
</project>

EAR 파일 배포하기

다음으로, 같은 build.xml 파일에서 배포 타겟을 설정하겠습니다:

<project name="project" default="default" basedir=".">
    <description>WebSphere Application Server 6.1에 EAR 배포</description>
    <property name="was_home" value="/opt/IBM/SDP70/runtimes/base_v61/"/>
    <path id="was.runtime">
        <fileset dir="${was_home}/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${was_home}/plugins">
            <include name="**/*.jar"/>
        </fileset>
    </path>
    <property name="ear" value="${env.HOME}/IBM/rationalsdp7.0/workspace/mywebappDeploy/mywebappEAR.ear"/>

    <target name="default" depends="deployEar"/>

    <target name="deployEar" depends="generateEar">
        <taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${was.runtime}"/>
        <wsInstallApp ear="${ear}" failonerror="true" debug="true" taskname="" washome="${was_home}"/>
    </target>
</project>

주요 섹션 및 고려사항

배포 시 참고사항

  • 단일 사용: 애플리케이션 이름이 현재 사용 중인 경우, 설치 타겟을 한 번만 실행할 수 있습니다. 필요하다면, 기존 애플리케이션을 먼저 제거하기 위해 wsUninstallApp 태스크를 사용해 보세요.
  • 서버 환경: 이 스크립트는 필요한 환경 설정을 활용하기 위해 서버의 프로파일 bin 디렉토리에서 실행해야 합니다.
  • 오류 처리: failonerror 속성에 주의하세요. 이를 true로 설정하면 문제가 발생할 경우 실행이 중단되고 문제를 해결할 기회를 제공합니다.

고려해야 할 대안

Ant를 사용하기가 다소 번거롭다고 느낀다면 **Java Management Extensions (JMX)**를 고려해 보세요. 서버에서 EAR 파일을 수용하는 파일 업로드 서블릿을 작성함으로써, HTTP를 통해 배포 MBeans를 활용할 수 있어 배포 프로세스를 좀 더 유연하고 특정 개발 환경에 의존적이지 않게 만들 수 있습니다.

결론

이 구조화된 예제와 지침을 따름으로써, WebSphere 6에서 EAR 애플리케이션을 효과적으로 배포하는 build.xml 파일을 생성하고 실행할 수 있는 충분한 능력을 갖추게 될 것입니다. 이는 배포 프로세스를 단순화할 뿐만 아니라 개발 팀과의 협업을 훨씬 더 효율적으로 만듭니다. 처음에 Ant로 전환하는 것이 어렵게 느껴질 수 있지만, 연습과 적절한 자료를 활용하면 작업 흐름을 상당히 간소화할 수 있습니다.

자신의 빌드 프로세스를 설정하는 동안 이 가이드를 참고하세요. 행복한 코딩 되세요!