소프트웨어 패키지를 여러 서버, 지점에 배포하기

INNORIX에서 소프트웨어 패키지 배포을 구성하고 연결된 시스템 간 파일 작업을 일관되게 운영하는 방법을 알아보세요.

IT 엔지니어개발자

시작하기#

기본 개념#

소프트웨어 설치 파일이나 업데이트 패키지를 여러 서버와 지점에 배포해야 하는 경우, 각 대상 서버에 직접 접속하거나 공유 스토리지에 파일을 저장한 뒤 개별적으로 설치 파일을 준비하는 방식으로 운영할 수 있습니다.

하지만 배포 대상이 늘어나면 어느 서버에 어떤 버전의 패키지가 배포되었는지, 특정 지점의 배포가 완료되었는지, 실패한 대상은 어디인지 각각 확인해야 하는 작업이 함께 늘어날 수 있습니다.

INNORIX Flow를 활용하면 중앙에 준비된 설치 파일과 업데이트 패키지를 여러 서버와 원격 지점으로 전송하고, 대상별 파일 반영 결과를 하나의 흐름에서 확인할 수 있습니다.

Package Repository
Distribution Flow
Server A
Branch A
Server B
Branch B
Server C
Branch C

이렇게 구성하면 패키지 준비 → 배포 대상 선택 → 대상별 전송 → 파일 반영 → 배포 결과 확인 → 실패 대상 대응까지 이어지는 소프트웨어 배포 흐름을 구성할 수 있습니다.

배포 대상#

소프트웨어 패키지는 동일한 파일을 모든 대상에 전송할 수도 있지만, 실제 환경에서는 서버 역할이나 운영 위치에 따라 서로 다른 패키지를 배포해야 할 수 있습니다.

예를 들어 Windows 서버에는 설치 프로그램을, Linux 서버에는 압축된 배포 파일을 전송하고, 특정 지점에는 업데이트 패키지와 설정 파일을 함께 배포할 수 있습니다.

  • Software Packages
  • Application/
  • application.exeEXE
  • application.tar.gzGZ
  • Update/
  • update-package.zipZIP
  • Configuration/
  • config.jsonJSON
패키지 유형 활용 예시
설치 파일 신규 서버와 장비에 프로그램 설치
업데이트 패키지 기존 시스템 버전 업데이트
설정 파일 서버 또는 지점별 환경 구성
바이너리 애플리케이션 실행 파일 배포
압축 패키지 여러 구성 파일을 하나의 패키지로 배포

이처럼 파일 유형과 대상 환경을 기준으로 배포 대상을 구성하면 하나의 패키지뿐만 아니라 여러 파일로 구성된 소프트웨어 배포 작업도 관리할 수 있습니다.

배포 방식#

여러 대상에 패키지를 배포하는 방식은 전체 대상에 동시에 전송하거나, 일정한 순서에 따라 단계적으로 배포하는 방식으로 구성할 수 있습니다.

예를 들어 먼저 테스트 서버에 업데이트 패키지를 전송하고 확인한 뒤 운영 서버와 원격 지점으로 배포할 수 있습니다.

  1. Package Ready
  2. Test Servers
  3. Result Check
  • SuccessProduction Servers
  • CheckReview

반대로 여러 지점에 동일한 패키지를 배포해야 하는 경우에는 하나의 Source에서 여러 Target으로 파일을 분기할 수 있습니다.

배포 방식 활용 환경
동시 배포 동일한 패키지를 여러 대상에 배포
순차 배포 이전 대상의 결과 확인 후 다음 대상 실행
단계별 배포 테스트와 운영 환경을 구분해 배포
대상별 배포 서버 또는 지점별 다른 패키지 적용
조건부 배포 이전 작업 결과에 따라 다음 배포 결정

이렇게 구성하면 모든 서버와 지점에 동일한 방식으로 파일을 전송하는 대신, 실제 배포 정책에 따라 대상과 실행 순서를 구분할 수 있습니다.

IT 엔지니어#

패키지 준비#

배포 작업을 시작하기 전에 설치 파일이나 업데이트 패키지가 생성되는 위치를 Source로 연결합니다.

Source는 중앙 파일 서버나 빌드 서버, 패키지 저장소 등 실제 배포 파일이 준비되는 환경을 기준으로 구성할 수 있습니다.

  • Package Source
  • /release/
  • app-v2.4.zipZIP
  • update-v2.4.zipZIP
  • /config/
  • production.jsonJSON

Source를 구성할 때는 다음 항목을 함께 확인할 수 있습니다.

구성 항목 설정 내용
패키지 위치 설치 파일과 업데이트 파일 경로
파일 선택 실제 배포할 파일과 폴더
버전 구분 배포할 소프트웨어 버전
파일 조건 특정 확장자 또는 파일 이름 기준
접근 범위 배포 파일을 읽을 수 있는 권한

예를 들어 /release/latest 경로에 새 버전의 패키지가 생성되면 해당 파일을 여러 배포 대상으로 전송하도록 구성할 수 있습니다.

대상 구성#

패키지를 전송할 서버와 지점은 각각 Target으로 구성합니다.

여러 대상이 동일한 서버 유형일 필요는 없으며, Windows 서버와 Linux 서버, 원격 파일 서버 등 실제 파일을 반영할 환경에 맞춰 구성할 수 있습니다.

Distribution Targets

  • Seoul OfficeWindows
  • Busan OfficeLinux
  • Data CenterFile Server

대상별로 서로 다른 저장 경로를 사용할 수도 있습니다.

대상 예시 저장 위치
Windows 서버 C:\Deploy\Package\
Linux 서버 /opt/deploy/package/
원격 지점 서버 /data/update/
파일 서버 /share/software/

이렇게 구성하면 하나의 패키지를 여러 대상에 전송하더라도 실제 파일이 반영되는 위치는 대상 환경에 맞게 관리할 수 있습니다.

배포 흐름#

Source와 여러 Target을 연결하면 하나의 소프트웨어 패키지를 여러 서버와 지점으로 배포할 수 있습니다.

동일한 패키지를 동시에 여러 대상에 전송하거나, 그룹별로 순서를 나누어 배포하는 방식으로 구성할 수 있습니다.

Software Package

Distribution Flow
  • Server GroupServer 1Server 2
  • Branch GroupSite ASite B
  • Archive

배포 구조는 다음과 같이 구성할 수 있습니다.

구성 방식 활용 방법
전체 배포 하나의 패키지를 모든 대상에 전송
그룹 배포 서버와 지점을 그룹별로 구분
순차 배포 이전 대상 완료 후 다음 그룹 실행
병렬 배포 여러 대상에 동시에 전송
버전별 배포 대상별로 서로 다른 패키지 전송

이를 통해 대상 수가 많아져도 개별 서버마다 전송 작업을 따로 구성하는 대신 하나의 배포 흐름 안에서 여러 대상을 관리할 수 있습니다.

실행 조건#

패키지 배포는 담당자가 직접 실행할 수도 있고, 새로운 버전의 파일이 준비되거나 이전 작업이 완료된 시점에 자동으로 시작하도록 구성할 수 있습니다.

Distribution Trigger
New Package
Scheduled
Previous Flow
Distribution Run

[제품UI_새 패키지 생성과 지정 시간, 이전 작업 완료 조건을 기준으로 배포 작업을 실행하는 화면]

실행 조건 활용 방식
새 파일 생성 새로운 패키지 준비 후 자동 배포
Date/Time 지정된 시간에 정기 배포
After Transfer 이전 작업 완료 후 다음 배포
URL Request 외부 배포 요청에 따라 실행
Manual Run 운영자가 필요한 시점에 직접 실행

예를 들어 새 버전의 패키지가 빌드 서버에 생성된 후 테스트 서버로 먼저 전송하고, 확인이 완료되면 운영 서버와 원격 지점으로 이어서 배포하도록 구성할 수 있습니다.

대상별 확인#

여러 서버와 지점으로 배포하는 경우 전체 작업이 완료되었다는 결과만 확인하는 것이 아니라, 각 대상에 패키지가 정상적으로 반영되었는지 함께 확인하는 것이 필요합니다.

Runs에서는 전체 배포 작업의 상태를 확인하고, 상세 정보를 통해 대상별 처리 결과와 파일 전송 상태를 확인할 수 있습니다.

  • Distribution Run
  • Server Group A
  • Server 01✓ Completed
  • Server 02✓ Completed
  • Branch Group B
  • Branch 01✓ Completed
  • Branch 02! Check Required
  • Branch Group C
  • Branch 03○ In Progress

대상별 결과에서는 다음 정보를 확인할 수 있습니다.

확인 항목 확인 내용
Target 패키지를 전송한 서버 또는 지점
Target Path 대상 시스템의 파일 저장 위치
Package 배포한 설치 파일 또는 업데이트 패키지
Total Files 전송한 파일 수
Total Size 전체 패키지 용량
Progress 현재 전송 진행률
Status 대상별 배포 상태
Completed 대상별 작업 완료 시간

이를 통해 전체 배포 작업은 완료되었지만 일부 대상에서 추가 확인이 필요한 경우에도 해당 대상의 결과를 중심으로 상태를 확인할 수 있습니다.

후속 작업#

패키지 파일이 대상 서버나 지점에 정상적으로 반영된 이후에는 다음 작업을 연결할 수 있습니다.

예를 들어 설치 파일 전송이 완료된 뒤 설치 작업을 실행하거나, 업데이트 패키지가 모든 대상에 배포된 이후 결과를 확인하는 작업을 연결할 수 있습니다.

Package Transfer
Target Verification
Success
Next TaskInstallation, Update, Notification
Check
Review

후속 작업은 배포 결과에 따라 다르게 연결할 수 있습니다.

배포 결과 다음 작업
전체 대상 완료 설치 또는 업데이트 작업 실행
일부 대상 완료 완료된 대상 결과 확인
특정 대상 확인 필요 해당 서버 또는 지점 상태 점검
모든 파일 반영 완료 담당자 또는 운영 환경에 알림
재배포 필요 필요한 대상에 작업 다시 실행

이렇게 구성하면 패키지 파일을 여러 서버에 전송하는 작업에서 끝나는 것이 아니라, 파일 반영 결과를 기준으로 설치와 업데이트, 운영 확인까지 이어지는 흐름을 만들 수 있습니다.

예외 대응#

특정 서버나 지점에 패키지가 정상적으로 배포되지 않은 경우에는 전체 배포 작업을 처음부터 다시 실행하기보다 문제가 발생한 대상의 Run 상세 정보를 확인할 수 있습니다.

예를 들어 다른 서버에는 업데이트 패키지가 정상적으로 반영되었지만 특정 지점의 연결 상태나 Target 경로에 문제가 있는 경우 해당 대상의 연결 환경과 파일 처리 결과를 확인합니다.

Distribution Run
Target Status ReviewA ✓, B !, C ✓
View DetailsB
Connection
Target Path
Permission
Adjust
Retry
Package Verified

문제가 발생한 경우에는 다음 항목을 함께 확인할 수 있습니다.

확인 항목 확인 내용 후속 작업
대상 연결 서버 또는 지점의 연결 상태 연결 환경 확인
Target 경로 패키지가 저장되는 위치 경로 조정
접근 권한 파일 저장 가능 여부 권한 설정 확인
파일 상태 패키지별 전송 결과 파일 상태 확인
패키지 정보 배포 대상 버전과 파일 버전 확인
실행 기록 Run과 대상별 처리 결과 필요한 작업 다시 실행

문제가 해결된 뒤에는 모든 서버와 지점에 동일한 패키지를 다시 배포하는 대신, 확인이 필요한 대상과 해당 파일을 중심으로 작업을 다시 실행할 수 있습니다.

이 과정을 통해 패키지 준비 → 배포 대상 구성 → 서버와 지점별 Target 연결 → 실행 조건 설정 → 병렬 또는 단계별 배포 → 대상별 결과 확인 → 후속 작업 연결 → 예외 대상 대응까지 이어지는 소프트웨어 패키지 배포 흐름을 구성할 수 있습니다.

여러 서버와 원격 지점에 설치 파일과 업데이트 패키지를 배포하는 경우에도 중앙에서 하나의 Flow를 기준으로 파일 전송과 대상별 처리 결과를 관리하면, 각 환경의 배포 상태를 개별적으로 확인하는 작업을 줄이고 필요한 대상에 대한 후속 대응까지 연결할 수 있습니다.