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

시작하기

기본 개념

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

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

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

text
                Package Repository
                        │
                        ▼
                  Distribution Flow
                        │
          ┌─────────────┼─────────────┐
          ▼             ▼             ▼
       Server A      Server B      Server C
          │             │             │
          ▼             ▼             ▼
       Branch A      Branch B      Branch C

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

배포 대상

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

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

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

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

배포 방식

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

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

text
Package Ready
      │
      ▼
 Test Servers
      │
      ▼
 Result Check
      │
      ├── Success ──────► Production Servers
      │
      └── Check ────────► Review

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

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

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

IT 엔지니어

패키지 준비

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

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

text
Package Source
      │
      ├── /release/
      │     ├── app-v2.4.zip
      │     └── update-v2.4.zip
      │
      └── /config/
            └── production.json

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

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

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

대상 구성

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

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

text
                    Distribution Targets
                           │
          ┌────────────────┼────────────────┐
          ▼                ▼                ▼
     Seoul Office      Busan Office      Data Center
          │                │                │
          ▼                ▼                ▼
      Windows            Linux          File Server

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

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

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

배포 흐름

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

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

text
                    Software Package
                           │
                           ▼
                     Distribution Flow
                           │
              ┌────────────┼────────────┐
              ▼            ▼            ▼
         Server Group   Branch Group   Archive
              │            │
          ┌───┴───┐    ┌───┴───┐
          ▼       ▼    ▼       ▼
       Server 1 Server 2 Site A Site B

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

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

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

실행 조건

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

text
                    Distribution Trigger
                           │
          ┌────────────────┼────────────────┐
          ▼                ▼                ▼
       New Package      Scheduled       Previous Flow
          │                │                │
          └────────────────┼────────────────┘
                           ▼
                    Distribution Run

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

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

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

대상별 확인

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

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

text
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대상별 작업 완료 시간

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

후속 작업

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

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

text
Package Transfer
       │
       ▼
Target Verification
       │
       ├── Success ────► Next Task
       │                    │
       │                    ├── Installation
       │                    ├── Update
       │                    └── Notification
       │
       └── Check ──────► Review

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

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

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

예외 대응

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

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

text
Distribution Run
       │
       ▼
Target Status Review
       │
 ┌─────┼───────────────┐
 ▼     ▼               ▼
A ✓    B !             C ✓
       │
       ▼
  View Details
       │
 ┌─────┼───────────────┐
 ▼     ▼               ▼
Connection  Target Path  Permission
       │
       └───────┬────────┘
               ▼
             Adjust
               │
               ▼
              Retry
               │
               ▼
        Package Verified

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

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

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

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

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