시작하기
기본 개념
소프트웨어 설치 파일이나 업데이트 패키지를 여러 서버와 지점에 배포해야 하는 경우, 각 대상 서버에 직접 접속하거나 공유 스토리지에 파일을 저장한 뒤 개별적으로 설치 파일을 준비하는 방식으로 운영할 수 있습니다.
하지만 배포 대상이 늘어나면 어느 서버에 어떤 버전의 패키지가 배포되었는지, 특정 지점의 배포가 완료되었는지, 실패한 대상은 어디인지 각각 확인해야 하는 작업이 함께 늘어날 수 있습니다.
INNORIX Flow를 활용하면 중앙에 준비된 설치 파일과 업데이트 패키지를 여러 서버와 원격 지점으로 전송하고, 대상별 파일 반영 결과를 하나의 흐름에서 확인할 수 있습니다.
Package Repository
│
▼
Distribution Flow
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Server A Server B Server C
│ │ │
▼ ▼ ▼
Branch A Branch B Branch C
이렇게 구성하면 패키지 준비 → 배포 대상 선택 → 대상별 전송 → 파일 반영 → 배포 결과 확인 → 실패 대상 대응까지 이어지는 소프트웨어 배포 흐름을 구성할 수 있습니다.
배포 대상
소프트웨어 패키지는 동일한 파일을 모든 대상에 전송할 수도 있지만, 실제 환경에서는 서버 역할이나 운영 위치에 따라 서로 다른 패키지를 배포해야 할 수 있습니다.
예를 들어 Windows 서버에는 설치 프로그램을, Linux 서버에는 압축된 배포 파일을 전송하고, 특정 지점에는 업데이트 패키지와 설정 파일을 함께 배포할 수 있습니다.
Software Packages
│
├── Application
│ ├── application.exe
│ └── application.tar.gz
│
├── Update
│ └── update-package.zip
│
└── Configuration
└── config.json
| 패키지 유형 | 활용 예시 |
|---|---|
| 설치 파일 | 신규 서버와 장비에 프로그램 설치 |
| 업데이트 패키지 | 기존 시스템 버전 업데이트 |
| 설정 파일 | 서버 또는 지점별 환경 구성 |
| 바이너리 | 애플리케이션 실행 파일 배포 |
| 압축 패키지 | 여러 구성 파일을 하나의 패키지로 배포 |
이처럼 파일 유형과 대상 환경을 기준으로 배포 대상을 구성하면 하나의 패키지뿐만 아니라 여러 파일로 구성된 소프트웨어 배포 작업도 관리할 수 있습니다.
배포 방식
여러 대상에 패키지를 배포하는 방식은 전체 대상에 동시에 전송하거나, 일정한 순서에 따라 단계적으로 배포하는 방식으로 구성할 수 있습니다.
예를 들어 먼저 테스트 서버에 업데이트 패키지를 전송하고 확인한 뒤 운영 서버와 원격 지점으로 배포할 수 있습니다.
Package Ready
│
▼
Test Servers
│
▼
Result Check
│
├── Success ──────► Production Servers
│
└── Check ────────► Review
반대로 여러 지점에 동일한 패키지를 배포해야 하는 경우에는 하나의 Source에서 여러 Target으로 파일을 분기할 수 있습니다.
| 배포 방식 | 활용 환경 |
|---|---|
| 동시 배포 | 동일한 패키지를 여러 대상에 배포 |
| 순차 배포 | 이전 대상의 결과 확인 후 다음 대상 실행 |
| 단계별 배포 | 테스트와 운영 환경을 구분해 배포 |
| 대상별 배포 | 서버 또는 지점별 다른 패키지 적용 |
| 조건부 배포 | 이전 작업 결과에 따라 다음 배포 결정 |
이렇게 구성하면 모든 서버와 지점에 동일한 방식으로 파일을 전송하는 대신, 실제 배포 정책에 따라 대상과 실행 순서를 구분할 수 있습니다.
IT 엔지니어
패키지 준비
배포 작업을 시작하기 전에 설치 파일이나 업데이트 패키지가 생성되는 위치를 Source로 연결합니다.
Source는 중앙 파일 서버나 빌드 서버, 패키지 저장소 등 실제 배포 파일이 준비되는 환경을 기준으로 구성할 수 있습니다.
Package Source
│
├── /release/
│ ├── app-v2.4.zip
│ └── update-v2.4.zip
│
└── /config/
└── production.json
Source를 구성할 때는 다음 항목을 함께 확인할 수 있습니다.
| 구성 항목 | 설정 내용 |
|---|---|
| 패키지 위치 | 설치 파일과 업데이트 파일 경로 |
| 파일 선택 | 실제 배포할 파일과 폴더 |
| 버전 구분 | 배포할 소프트웨어 버전 |
| 파일 조건 | 특정 확장자 또는 파일 이름 기준 |
| 접근 범위 | 배포 파일을 읽을 수 있는 권한 |
예를 들어 /release/latest 경로에 새 버전의 패키지가 생성되면 해당 파일을 여러 배포 대상으로 전송하도록 구성할 수 있습니다.
대상 구성
패키지를 전송할 서버와 지점은 각각 Target으로 구성합니다.
여러 대상이 동일한 서버 유형일 필요는 없으며, Windows 서버와 Linux 서버, 원격 파일 서버 등 실제 파일을 반영할 환경에 맞춰 구성할 수 있습니다.
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을 연결하면 하나의 소프트웨어 패키지를 여러 서버와 지점으로 배포할 수 있습니다.
동일한 패키지를 동시에 여러 대상에 전송하거나, 그룹별로 순서를 나누어 배포하는 방식으로 구성할 수 있습니다.
Software Package
│
▼
Distribution Flow
│
┌────────────┼────────────┐
▼ ▼ ▼
Server Group Branch Group Archive
│ │
┌───┴───┐ ┌───┴───┐
▼ ▼ ▼ ▼
Server 1 Server 2 Site A Site B
배포 구조는 다음과 같이 구성할 수 있습니다.
| 구성 방식 | 활용 방법 |
|---|---|
| 전체 배포 | 하나의 패키지를 모든 대상에 전송 |
| 그룹 배포 | 서버와 지점을 그룹별로 구분 |
| 순차 배포 | 이전 대상 완료 후 다음 그룹 실행 |
| 병렬 배포 | 여러 대상에 동시에 전송 |
| 버전별 배포 | 대상별로 서로 다른 패키지 전송 |
이를 통해 대상 수가 많아져도 개별 서버마다 전송 작업을 따로 구성하는 대신 하나의 배포 흐름 안에서 여러 대상을 관리할 수 있습니다.
실행 조건
패키지 배포는 담당자가 직접 실행할 수도 있고, 새로운 버전의 파일이 준비되거나 이전 작업이 완료된 시점에 자동으로 시작하도록 구성할 수 있습니다.
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 Task
│ │
│ ├── Installation
│ ├── Update
│ └── Notification
│
└── Check ──────► Review
후속 작업은 배포 결과에 따라 다르게 연결할 수 있습니다.
| 배포 결과 | 다음 작업 |
|---|---|
| 전체 대상 완료 | 설치 또는 업데이트 작업 실행 |
| 일부 대상 완료 | 완료된 대상 결과 확인 |
| 특정 대상 확인 필요 | 해당 서버 또는 지점 상태 점검 |
| 모든 파일 반영 완료 | 담당자 또는 운영 환경에 알림 |
| 재배포 필요 | 필요한 대상에 작업 다시 실행 |
이렇게 구성하면 패키지 파일을 여러 서버에 전송하는 작업에서 끝나는 것이 아니라, 파일 반영 결과를 기준으로 설치와 업데이트, 운영 확인까지 이어지는 흐름을 만들 수 있습니다.
예외 대응
특정 서버나 지점에 패키지가 정상적으로 배포되지 않은 경우에는 전체 배포 작업을 처음부터 다시 실행하기보다 문제가 발생한 대상의 Run 상세 정보를 확인할 수 있습니다.
예를 들어 다른 서버에는 업데이트 패키지가 정상적으로 반영되었지만 특정 지점의 연결 상태나 Target 경로에 문제가 있는 경우 해당 대상의 연결 환경과 파일 처리 결과를 확인합니다.
Distribution Run
│
▼
Target Status Review
│
┌─────┼───────────────┐
▼ ▼ ▼
A ✓ B ! C ✓
│
▼
View Details
│
┌─────┼───────────────┐
▼ ▼ ▼
Connection Target Path Permission
│
└───────┬────────┘
▼
Adjust
│
▼
Retry
│
▼
Package Verified
문제가 발생한 경우에는 다음 항목을 함께 확인할 수 있습니다.
| 확인 항목 | 확인 내용 | 후속 작업 |
|---|---|---|
| 대상 연결 | 서버 또는 지점의 연결 상태 | 연결 환경 확인 |
| Target 경로 | 패키지가 저장되는 위치 | 경로 조정 |
| 접근 권한 | 파일 저장 가능 여부 | 권한 설정 확인 |
| 파일 상태 | 패키지별 전송 결과 | 파일 상태 확인 |
| 패키지 정보 | 배포 대상 버전과 파일 | 버전 확인 |
| 실행 기록 | Run과 대상별 처리 결과 | 필요한 작업 다시 실행 |
문제가 해결된 뒤에는 모든 서버와 지점에 동일한 패키지를 다시 배포하는 대신, 확인이 필요한 대상과 해당 파일을 중심으로 작업을 다시 실행할 수 있습니다.
이 과정을 통해 패키지 준비 → 배포 대상 구성 → 서버와 지점별 Target 연결 → 실행 조건 설정 → 병렬 또는 단계별 배포 → 대상별 결과 확인 → 후속 작업 연결 → 예외 대상 대응까지 이어지는 소프트웨어 패키지 배포 흐름을 구성할 수 있습니다.
여러 서버와 원격 지점에 설치 파일과 업데이트 패키지를 배포하는 경우에도 중앙에서 하나의 Flow를 기준으로 파일 전송과 대상별 처리 결과를 관리하면, 각 환경의 배포 상태를 개별적으로 확인하는 작업을 줄이고 필요한 대상에 대한 후속 대응까지 연결할 수 있습니다.