문서 읽는 데 49분 · 16강 · 2과목 · 소프트웨어 개발

매뉴얼·릴리스 노트·빌드 자동화

목차 21
전체 59강 중 16강 · 2과목 · 소프트웨어 개발

15강이 완성된 소프트웨어를 사용자 환경에 맞게 묶어 봉인하는 패키징이었다면, 16강은 그 묶음에 안내문(매뉴얼·릴리스 노트)을 동봉하고, 빌드·테스트·배포 전 과정을 자동화(빌드 도구·CI/CD) 하는 단원이다. 13강 단위 테스트(JUnit)·14강 형상 관리(Git)가 여기서 Jenkins 로 모여 CI/CD 큰 그림이 완성된다. 시험 점수밭은 셋 — 릴리스 노트 9항(헤요재수개기노면연) · Jenkins = CI 도구 ≠ 빌드 도구 · Maven=XML / Gradle=DSL. 거의 매회 보장된 출제 라인이다.

핵심 암기: 릴리스 노트 9항 헤요재수개기노면연 · IDE 5대 기능+통합 코디버배컴통 · 빌드 도구 핵심 메=의존성 / 그=유연성 / 젠=CI대명사 · Jenkins = CI 도구 ≠ 빌드 도구 · Maven=XML / Gradle=DSL · CI 정의 자동 빌드 + 자동 테스트 · CD 두 갈래 Delivery=사람 승인 / Deployment=완전 자동 · 매뉴얼 2종 사용자=고객 / 운영=운영자 · 통합 시그니처 CI = JUnit + Git + Jenkins


매뉴얼과 릴리스 노트

매뉴얼 2종 — 사용자 매뉴얼 vs 운영 매뉴얼 ·매뉴얼·

[정의] 매뉴얼(Manual) = 패키지에 동봉되는 사용·운영·문제 해결 안내 문서. 패키징 산출물 3종(설치 파일·매뉴얼·릴리스 노트) 중 하나로, 읽는 사람이 누구냐 에 따라 두 종류로 갈린다.

[표] 대상·목적·수준·핵심 항목 4축 비교.

비교 축 사용자 매뉴얼(User Manual) 운영 매뉴얼(Operation Manual)
대상 일반 사용자·고객(비전공자) 운영자·관리자(기술자)
목적 설치·사용 안내 운영·유지보수·장애 대응
수준 비전공자도 이해(친절체·스크린샷) 기술 용어·절차 위주(커맨드·로그)
핵심 항목 설치 방법·기본 기능·문제 해결·FAQ·고객지원 연락처 시스템 구성·환경 설정·운영 절차·장애 대응·백업/복구

[흐름] 작성 절차 4단계 — 검토는 항상 마지막(책 쓰기와 같다).

텍스트
 작성 지침   구성요소(목차)   내용 작성   검토
   (지침)        (챕터 구성)        (본문·스크린샷)   (기술+사용성, 마지막)

🔑 암기 사용자 매뉴얼 = 고객 / 운영 매뉴얼 = 운영자. 작성 절차 끝 = 검토. ⚠️ 함정 '장애 대응·백업/복구·환경 설정'이 사용자 매뉴얼 자리에 있으면 100% 함정(운영 매뉴얼). 'FAQ·고객지원 연락처'가 운영 매뉴얼 자리에 있어도 함정(사용자 매뉴얼). '검토가 1·2·3단계'도 함정 — 검토는 4단계. 🎯 빈출 '운영 매뉴얼 핵심 항목은?' / '사용자 매뉴얼에 포함되는 것은?' 항목 뒤바꿈. 거의 매회. 📝 기출 매뉴얼 2종 항목 매칭 단골.

릴리스 노트(Release Note) 정의 ·릴리스 노트·

[정의] 릴리스 노트(Release Note) = 소프트웨어의 새 버전 출시와 함께 발행되는 변경 이력 공식 문서. 어떤 기능이 추가·수정됐고 어떤 이슈가 남았는지 사용자에게 공식 통보하는 외부 문서. 면책 조항·알려진 이슈를 명시해 법적 책임을 분리하는 것이 결정적 가치.

[흐름] 코드 변경 → 패키징 → 릴리스 노트(사용자 통보)의 마지막 퍼즐.

💡 앱스토어 '이번 버전의 새로운 기능' 페이지가 곧 릴리스 노트다 — 사용자가 업데이트를 누르기 직전 가장 먼저 보는 안내장.

🌟 작성 시점 5종(키워드 매칭만 — 디테일은 가볍게):

시점 언제 빈도
초기 배포(Initial) 제품 첫 출시 1회
신규 기능(Feature) 메이저 기능 추가 분기·반기
개선(Enhancement) 기존 기능 향상 정기
버그 수정(Bug Fix) 결함 수정 수시
보안 패치(Security) 취약점 긴급 수정 별도 트랙·즉시

🔑 암기 릴리스 노트 = 새 버전 + 변경 이력 공식 통보 + 외부 문서. 보안 패치는 정기 릴리스와 분리(즉시 발행). ⚠️ 함정 '개발자 내부 문서'(외부 문서가 정답)·'출시 1년 뒤 발행'(출시와 동시)·'초기 배포를 매 릴리스마다'(1회만)는 함정. 🎯 빈출 정의 매칭 + '작성 시점이 아닌 것?'. 정의 단골.

★릴리스 노트 필수 항목 9종 — 헤요재수개기노면연★ ·릴리스 노트 9항·1순위·

[표] 릴리스 노트의 필수 구성 항목 9종. 16강 시험 1순위.

약자 항목 무엇을 적나
헤더(Header) 제품명·버전·릴리스 날짜
요약(Summary) 이번 릴리스 핵심 3~5줄
재현 항목(Reproducible) 알려진 버그 재현 단계·환경
수정 내용(Fixes) 고쳐진 버그 목록
개선 사항(Improvements) 추가·향상된 기능(사용자 관심 1순위)
기여자(Contributors) 작성자·개발자·검토자 명단
노트(Notes) 알려진 이슈·향후 계획
면책 조항(Disclaimer) 라이선스·법적 책임 한계
연락처(Contact) 문의·버그 리포트 채널

[흐름] 편지의 9단 구성으로 읽으면 외우기 쉽다.

텍스트
헤더(받는 사람·날짜)  요약(요지)  재현·수정·개선(본문)
    기여자(작성자)  노트·면책(부록)  연락처(답장 받을 곳)

🔑 암기 헤요재수개기노면연 아홉 글자. ⚠️ 함정 비밀번호·DB 스키마·서버 IP·소스 코드 전문은 9개에 없음 → '필수 항목이 아닌 것?'의 정답. 보안 정보·내부 구현은 외부 문서에 절대 들어가지 않는다. 🎯 빈출 '릴리스 노트 필수 항목이 아닌 것?' 매년 빈출 1순위. 9개 외 항목(비밀번호 등)을 끼워 넣는 함정이 단골. 📝 기출 릴리스 노트 9항 소거형 단골.


개발 도구와 빌드 개념

IDE 5대 기능 — 코디버배컴통 ·IDE·

[정의] IDE(Integrated Development Environment, 통합 개발 환경) = 코드 작성·컴파일·디버깅·배포·버전 관리를 한 도구·한 화면 에서 처리하게 합친 개발 도구. '통합(Integrated)' 이 본질 — 옛날엔 편집기·터미널·디버거·Git이 따로따로였다.

[표] 5대 기능(코딩·디버깅·버전 관리·배포·컴파일) + 통합 = 코디버배컴통.

약자 기능 한 줄
코딩 자동 완성·문법 강조·리팩터링
디버깅 중단점·변수 추적·스텝 실행
버전 관리 Git·SVN 통합 패널(터미널 없이 commit·push)
배포 빌드·서버 배포(CI 도구 연동)
컴파일 소스 → 실행 파일 변환
통합 위 기능 + 테스트·빌드를 한 화면에(I=Integrated 본질)

[표] 주요 IDE 4종 — 이름·주력 언어 매칭만(단축키·플러그인 디테일은 출제 밖).

IDE 주력 언어 운영 주체
Eclipse Java(Spring) Eclipse Foundation(무료·오픈소스)
IntelliJ IDEA Java·Kotlin JetBrains(자동완성·리팩터링 강점)
VS Code 다언어(JS·Python·Go·Java) Microsoft(가벼움·확장성)
Visual Studio C#·.NET·C++ Microsoft(MS 생태계)

🔑 암기 코디버배컴통. IDE = 편집기 + 컴파일러 + 디버거 + Git + 배포 통합. ⚠️ 함정 'IDE는 코딩만 하는 도구'(5대 기능 통합이 본질)·'IntelliJ=.NET 전용'(Java·Kotlin / .NET은 Visual Studio)·'Visual Studio=Java 전용'(C#·.NET / Java는 Eclipse·IntelliJ)은 함정. 🎯 빈출 'IDE에 해당하지 않는 것?'(Jenkins 끼워 넣기) + IDE 이름·언어 매칭. 가끔.

빌드(Build) 정의 — 단순 컴파일이 아니다 ·빌드·

[정의] 빌드(Build) = 소스 코드를 컴파일·의존성 해결·테스트·패키징·배포 가능한 형태로 만드는 자동화 과정. 단순 컴파일이 아니라 여러 단계를 묶어 자동 실행하는 것이 핵심.

[흐름] 빌드 한 번에 일어나는 5단계.

텍스트
소스   컴파일   의존성 해결   단위 테스트   패키징(.jar·.war·.apk)   배포

🔑 암기 빌드 = 컴파일 + 의존성 + 테스트 + 패키징 + 배포 5단계 자동화. ⚠️ 함정 '빌드 = 컴파일과 같은 의미'·'빌드에 테스트 미포함'·'빌드와 배포는 무관'은 모두 함정. 단위 테스트(13강 JUnit)·배포가 빌드 흐름 안에 들어 있다. 🎯 빈출 '빌드 정의로 옳은 것?'. 컴파일과 동일시하는 함정 단골.


빌드 자동화 도구 — Maven · Gradle · Jenkins

★빌드 자동화 도구 4종 — 메=의존성·그=유연성·젠=CI대명사★ ·빌드 도구·1순위·

[표] Ant·Maven·Gradle·Jenkins 4종. 이 표 한 장이 16강 출제분의 30%.

도구 분류 한 줄 핵심
Ant 빌드 도구 1세대 — XML 스크립트·자유도 높음
Maven 빌드 도구 2세대 — pom.xml + 의존성 관리 표준
Gradle 빌드 도구 3세대 — Groovy/Kotlin DSL + Android 표준
Jenkins CI 도구 ≠ 빌드 도구 CI 대명사 — Maven/Gradle을 안에서 호출

[흐름] 핵심 구분 한 줄 — 빌드 도구 vs CI 도구.

텍스트
Ant · Maven · Gradle  = 빌드 도구 (어떻게 빌드할지 정의 + 직접 빌드)
        Jenkins       = CI 도구   (언제 빌드를 자동 실행할지 지시)
    Jenkins 안에서 Maven/Gradle 을 "호출"하는 구조

🔑 암기 메(의존성) · 그(유연성) · 젠(CI 대명사) + Jenkins ≠ 빌드 도구. ⚠️ 함정 'Jenkins는 빌드 도구'·'Maven은 CI 도구'·'Gradle은 CI 도구'는 모두 100% 함정. Ant·Maven·Gradle만 빌드 도구, Jenkins는 CI. 🎯 빈출 '빌드 자동화 도구가 아닌 것?'(분류 함정) 매년 단골. 📝 기출 도구 분류 소거형 단골.

Maven — pom.xml + 의존성 자동 다운로드 ·Maven·

[정의] Maven = Apache 재단의 Java 빌드 도구. pom.xml(Project Object Model)에 의존성·빌드 설정을 XML 로 선언하면, 외부 라이브러리를 Maven 중앙 저장소(Maven Central) 에서 자동 다운로드·연결한다.

[표] 시그니처 3종.

시그니처 한 줄
pom.xml XML 형식의 빌드 설정·의존성 선언 파일
의존성 자동 다운로드 <dependency> 에 이름만 적으면 Maven Central에서 자동
표준 라이프사이클 clean → compile → test → package → install → deploy

[발췌] pom.xml 의존성 선언 — 이름만 적으면 자동 다운로드(XML).

XML
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>3.5.11</version>
</dependency>

🔑 암기 Maven = pom.xml + 의존성(XML). ⚠️ 함정 'Maven은 Groovy DSL'(그건 Gradle)·'Maven은 Android 공식'(Gradle)·'Maven은 점진적 빌드'(Gradle 강점)는 함정. 🎯 빈출 'Maven 특징으로 옳은 것?' — pom.xml·의존성 키워드 매칭 단골. 📝 기출 Maven 특징 매칭.

Gradle — Groovy/Kotlin DSL + Android 표준 ·Gradle·

[정의] Gradle = Maven의 장황한 XML을 극복한 차세대 빌드 도구. XML 대신 Groovy 또는 Kotlin DSL(코드)로 빌드 스크립트를 작성. Android 공식 빌드 도구.

[표] 시그니처 3종.

시그니처 한 줄
build.gradle Groovy/Kotlin DSL로 작성(XML 아님)
유연성·간결함 Maven XML의 약 절반 분량 + 스크립트 자유도
점진적 빌드 변경된 부분만 재빌드 → 속도 향상

[발췌] build.gradle 의존성 — Maven 4줄이 한 줄로(DSL).

Groovy
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web:3.5.11'
}

🔑 암기 Gradle = DSL + Android + 유연성. ⚠️ 함정 'Gradle은 XML 기반'은 100% 함정 매년 빈출 1순위 — XML은 Maven, Gradle은 DSL. '점진적 빌드 미지원'·'Android에서 안 쓰임'도 함정. 🎯 빈출 'Gradle 특징이 아닌 것?'에 'XML 기반' 끼워 넣기. 매년 1순위. 📝 기출 Gradle 특징 매칭(XML 함정).

★Maven vs Gradle 비교표 — Maven=XML / Gradle=DSL★ ·Maven vs Gradle·매년1순위·

[표] 결정적 차이. 'Maven=XML / Gradle=DSL' 한 줄에서 나머지가 다 파생된다.

비교 축 Maven Gradle
설정 언어 XML(pom.xml) Groovy/Kotlin DSL(build.gradle)
분량 장황 간결(약 절반)
빌드 속도 느림(전체 재빌드) 빠름(점진적 빌드)
유연성 컨벤션 위주(정해진 양식) 스크립트로 자유롭게(조건문)
Android 표준 ⭕ Google 채택
점진적 빌드 ⭕ 변경분만
생태계 Maven Central Gradle + Maven 저장소도 사용

🔑 암기 Maven=XML / Gradle=DSL. XML이라 Maven은 장황·정형, DSL이라 Gradle은 간결·자유·Android 표준. ⚠️ 함정 'Gradle은 XML·Maven은 DSL'(거꾸로)·'Maven이 Android 공식'(Gradle)·'Maven이 점진적 빌드'(Gradle)·'Gradle은 Maven 저장소 못 씀'(둘 다 사용 가능)은 함정. 🎯 빈출 Maven vs Gradle 차이 — 매년 빈출 1순위. 보기를 'XML?·DSL?' 두 가지로만 분별. 📝 기출 설정 언어 뒤바꿈 단골.

Jenkins — CI 대명사 ·Jenkins·1순위·

[정의] Jenkins = 오픈소스 지속적 통합(CI, Continuous Integration) 자동화 서버. Git push 등 이벤트가 발생하면 빌드·테스트·배포를 자동 실행 하는 오케스트라 도구. CI 대명사라 불릴 만큼 업계 표준.

[표] 시그니처 4종.

시그니처 한 줄
CI 대명사 'CI 도구' 하면 십중팔구 Jenkins
플러그인 생태계 방대 Git·Maven·Gradle·Docker 등 거의 모든 도구와 연동
Jenkinsfile 빌드·테스트·배포 단계를 코드(Groovy DSL)로 정의 → 형상 관리 가능
무료·오픈소스 Java로 작성·자체 호스팅 가능

[발췌] Jenkinsfile — 파이프라인을 코드로(저장소에 두면 자동 인식).

Groovy
pipeline {
    stages {
        stage('Build')  { steps { sh 'mvn clean package' } }
        stage('Test')   { steps { sh 'mvn test' } }
        stage('Deploy') { steps { sh './deploy.sh' } }
    }
}

🔑 암기 CI 대명사 = Jenkins. 문제에 'CI·지속적 통합' + 보기에 Jenkins → 즉답. ⚠️ 함정 'CI 대명사 = Maven/Gradle/Eclipse'는 함정 — Maven·Gradle=빌드 도구, Eclipse=IDE. 🎯 빈출 'CI의 대표 도구는?' 매년 빈출 1순위. 📝 기출 CI 도구 정의 매칭.

★Jenkins = CI 도구 ≠ 빌드 도구★ ·Jenkins 함정·1순위·

[정의] Jenkins는 빌드 도구가 아니라 CI 오케스트라. 직접 빌드하지 않고 빌드 도구(Maven·Gradle)를 안에서 호출 한다. 'Jenkins는 빌드 도구'는 매년 단골 함정.

[흐름] Jenkins의 위치 — 호출자.

텍스트
[Jenkins (CI 오케스트라)]
   ├─ 호출  Maven/Gradle (빌드 도구)
   ├─ 호출  JUnit (단위 테스트)
   └─ 호출  배포 스크립트
    Jenkins 자신은 어떤 빌드도 직접 하지 않음
본질 한 줄
빌드 도구 코드를 컴파일·테스트·패키징하는 직접 작업자(Maven·Gradle)
CI 도구 언제 어떤 빌드 도구를 호출할지 지시하는 오케스트라(Jenkins)

🔑 암기 Jenkins = CI 도구 ≠ 빌드 도구. Maven/Gradle을 호출하는 위치. ⚠️ 함정 '빌드 도구가 아닌 것?'에 Jenkins가 보이면 100% Jenkins가 정답. 'Jenkins가 Maven을 대체'(호출 관계지 대체 아님)도 함정. 🎯 빈출 '빌드 도구가 아닌 것? → Jenkins' 매년 빈출 1순위. 16강 함정의 절반. 📝 기출 Jenkins 분류 소거형 단골.


CI/CD 큰 그림

CI 정의 — 자동 빌드 + 자동 테스트 ·CI·

[정의] CI(Continuous Integration, 지속적 통합) = 코드 변경을 자주 머지하고 매번 자동 빌드·자동 테스트통합 결함을 조기에 발견 하는 개발 방식. '자동 빌드 + 자동 테스트' 가 본질.

[흐름] Jenkins 동작 — push 한 번에 끝까지 자동.

텍스트
개발자 push  Jenkins Webhook 감지  Maven/Gradle 빌드  JUnit 자동 테스트
    통과 시 패키징(.jar/.war/.apk)  배포  결과 알림

💡 commit은 로컬 기록까지만, push가 트리거의 진입점이다(14강 commit ≠ push 회수).

옛날(CI 없음) CI 도입 후
1~2주 단위 일괄 머지 변경마다 즉시 머지·자동 빌드
머지 시점 통합 결함 폭발 결함 조기 발견·즉시 수정

🔑 암기 CI = 자동 빌드 + 자동 테스트 + 자주 통합. ⚠️ 함정 'CI = 수동 빌드·월말 일괄 통합'(자동·즉시가 정답)·'CI가 운영 배포까지 자동'(배포는 CD)·'CI는 빌드 도구'(개발 방식·프로세스)는 함정. 🎯 빈출 CI 정의 매칭 + commit/push 함정. push가 트리거 진입점. 📝 기출 CI 정의·동작 매칭.

Continuous Delivery vs Deployment — CD 두 갈래 ·CD·

[정의] CD는 같은 약자 두 의미 — 운영 배포에 사람 승인이 있느냐 가 갈림길.

  • Continuous Delivery(지속적 전달) = 스테이징까지 자동, 운영 배포는 사람 승인.
  • Continuous Deployment(지속적 배포) = 운영까지 완전 자동, 사람 개입 없음.

[표] CI + CD 두 갈래.

약자 풀네임 운영 배포
CI Continuous Integration (배포 영역 아님 — 빌드+테스트)
CD Continuous Delivery 스테이징 자동 · 운영은 사람 승인
CD Continuous Deployment 운영까지 완전 자동

🔑 암기 Delivery = 사람 승인 / Deployment = 완전 자동. ⚠️ 함정 'Delivery는 운영까지 완전 자동'(거꾸로 — 그건 Deployment)·'Deployment는 사람 승인 단계 있음'(완전 자동)·'CI와 CD는 같은 단계'(CI=빌드+테스트 / CD=배포)는 함정. 🎯 빈출 CD 두 갈래 — 신유형이나 출제 비중 증가. '운영 배포 사람 승인 유무' 한 가지로 분별. 📝 기출 Delivery/Deployment 뒤바꿈 단골.

★CI/CD 큰 그림 — CI = JUnit + Git + Jenkins★ ·CI/CD 시그니처·통합1순위·

[흐름] 13강 단위 테스트·14강 형상 관리·16강 CI 자동화가 한 장으로 모이면 CI/CD가 완성된다.

텍스트
[IDE] 코딩  로컬 JUnit 통과  commit
        │  git push
[Git 원격 저장소] 브랜치 push  PR 등록 (풀 = fetch + merge · 14강)
        │  Webhook 감지
[Jenkins CI 서버] Maven/Gradle 빌드  JUnit 자동  패키징  스테이징 배포
        │  통과 시
[운영 배포 + 릴리스 노트 발행] 새 버전 + 변경 이력(헤요재수개기노면연) 통보

[표] CI/CD 4요소.

요소 역할
JUnit 단위 테스트 자동화(부품 단품 검사) 13강
Git 변경 이력 통제·트리거(commit ≠ push) 14강
패키징·릴리스 노트 사용자 환경 맞춤 + 변경 통보 15·16강
Jenkins 위 단계를 자동 컨베이어로 묶어 실행(CI) 16강

🔑 암기 CI = JUnit(13강) + Git(14강) + Jenkins(16강). 'PR이 올라오면 자동 JUnit이 돌고, 통과해야 머지' = 통합형 정답. 🎯 빈출 통합형 출제 1순위 — 'push → Jenkins → Maven/Gradle 빌드 → JUnit 자동 테스트' 흐름 보기가 정답. 📝 기출 CI/CD 통합 흐름 매칭.

도구 분류 매트릭스 — 빌드·CI·IDE·테스트·형상 ·분류 종합·

[표] 16강 도구가 어느 분류인지 1초 매칭 — '○○ 도구가 아닌 것?' 함정 차단 마지막 점검판.

도구 분류 핵심 키워드
Ant · Maven · Gradle 빌드 도구 XML / pom.xml·의존성 / DSL·Android
Jenkins CI 도구 CI 대명사 · Git push 트리거
GitHub Actions · GitLab CI CI 도구 클라우드 CI
Eclipse · IntelliJ · VS Code · Visual Studio IDE 통합 개발 환경
JUnit 테스트 도구 단위 테스트(13강)
Git · SVN 형상 관리 도구 분산형 / 중앙집중형(14강)

[표] 분류 뒤바꿈 — 매년 단골 4쌍.

함정 보기 정답
빌드 도구가 아닌 것? → Jenkins Jenkins = CI 도구
빌드 도구가 아닌 것? → SVN SVN = 형상 관리 도구
IDE가 아닌 것? → Jenkins Jenkins = CI 도구
CI 도구가 아닌 것? → Maven Maven = 빌드 도구

🔑 암기 Ant·Maven·Gradle=빌드 / Jenkins=CI / Eclipse·IntelliJ·VS Code·Visual Studio=IDE / JUnit=테스트 / Git·SVN=형상 관리. 🎯 빈출 도구 이름이 보기에 섞여 나오면 이 표를 떠올린다. Jenkins·SVN이 빌드 도구 보기에 끼는 함정이 핵심.


기출 다지기

[기출 1 출제] 다음 중 릴리스 노트(Release Note)의 필수 구성 항목으로 옳지 않은 것은? (아닌 것 고르기)

  • ① 헤더(Header) — 제품명·버전·릴리스 날짜
  • ② 요약(Summary) — 이번 릴리스 핵심 3~5줄
  • ③ 사용자 비밀번호(User Password)
  • ④ 면책 조항(Disclaimer) — 라이선스·법적 책임 한계
정답 및 해설 보기

정답 ③

릴리스 노트는 사용자에게 공개되는 외부 문서 — 비밀번호·DB 스키마·서버 IP 같은 보안 정보는 들어가지 않는다. 필수 항목 9종 헤요재수개기노면연 에 비밀번호는 없다.

선지 판정 근거
필수 더 — 9종 첫째
필수 약 — 9종 둘째
정답(아님) 비밀번호는 보안 정보 — 외부 문서에 미공개
필수 책 조항 — 9종 여덟째

🔑 9개 외 항목(비밀번호·DB 스키마·서버 IP·소스 코드)이 보이면 100% 정답(아님).

[기출 2 출제] 다음 중 지속적 통합(CI, Continuous Integration)의 대표적인 도구 로 가장 적절한 것은? (설명→용어 찾기)

  • ① Maven
  • ② Gradle
  • ③ Jenkins
  • ④ Eclipse
정답 및 해설 보기

정답 ③

CI 대명사 = Jenkins. Git push 트리거로 빌드·테스트·배포를 자동 실행하는 CI 자동화 서버다. 문제에 'CI·지속적 통합'이 보이고 보기에 Jenkins가 있으면 즉답.

선지 분류 핵심
빌드 도구 pom.xml·의존성
빌드 도구 DSL·Android
CI 도구(정답) CI 대명사·push 트리거
IDE Java·Spring 생태계

🔑 Maven·Gradle=빌드 / Eclipse=IDE / Jenkins=CI. CI 단어가 핵심 분별자.

[기출 3 출제] 다음 중 Maven 의 특징으로 가장 적절한 것은? (옳은 설명 고르기)

  • ① Groovy 또는 Kotlin DSL로 빌드 스크립트를 작성한다
  • ② Android의 공식 빌드 도구다
  • ③ pom.xml에 의존성을 선언하면 Maven Central에서 자동 다운로드된다
  • ④ Continuous Integration을 자동화하는 서버다
정답 및 해설 보기

정답 ③

Maven = pom.xml + 의존성(XML). <dependency> 에 이름만 적으면 Maven Central에서 자동 다운로드·연결된다.

선지 판정 근거
오답 Groovy/Kotlin DSL은 Gradle — Maven은 XML
오답 Android 공식은 Gradle — Maven은 Spring 백엔드 전통
정답 pom.xml + 의존성 자동 다운로드 — Maven 시그니처
오답 CI 자동화 서버는 Jenkins

🔑 보기에 pom.xml·의존성이 있으면 그 보기가 정답.

[기출 4 출제] 다음 중 Gradle의 특징으로 가장 적절하지 않은 것은? (아닌 것 고르기)

  • ① Groovy 또는 Kotlin DSL로 빌드 스크립트를 작성한다
  • ② Android의 공식 빌드 도구다
  • ③ XML 형식(pom.xml)으로 빌드 설정을 작성한다
  • ④ 점진적 빌드(Incremental Build)를 지원한다
정답 및 해설 보기

정답 ③

Gradle = DSL · Maven = XML. 'Gradle은 XML' 표현은 거꾸로 — XML(pom.xml)은 Maven의 특징이다. 매년 빈출 1순위 함정.

선지 판정 근거
옳음 Groovy/Kotlin DSL — Gradle 특징
옳음 Android 공식 빌드 도구(Google 채택)
정답(틀린 보기) XML(pom.xml)은 Maven — Gradle은 DSL
옳음 점진적 빌드(변경분만 재빌드) — Gradle 강점

🔑 'Gradle은 XML' 표현이 보이면 즉시 함정 정답. Maven=XML / Gradle=DSL 한 줄.

[기출 5 출제] 다음 중 IDE(통합 개발 환경)에 해당하지 않는 것은? (아닌 것 고르기)

  • ① Eclipse
  • ② IntelliJ IDEA
  • ③ Visual Studio
  • ④ Jenkins
정답 및 해설 보기

정답 ④

Jenkins = CI 도구 — 개발자 PC에서 코드를 작성하는 도구가 아니라, Git 서버에서 트리거되어 빌드·테스트를 자동 실행하는 별도 서버다.

선지 분류 한 줄
IDE Java·Spring 생태계
IDE Java·Kotlin
IDE C#·.NET·C++
CI 도구(정답·아님) CI 대명사 — 개발 환경 아님

🔑 IDE 보기에 Jenkins가 끼면 무조건 정답(아님). Jenkins는 어느 분류에 끼어도 정답이 되는 단골 함정 도구.

[기출 6 출제] 다음 중 빌드 자동화 도구가 아닌 것은? (아닌 것 고르기)

  • ① Ant
  • ② Maven
  • ③ Gradle
  • ④ SVN
정답 및 해설 보기

정답 ④

SVN = 형상 관리 도구(중앙집중형 · 14강). Ant·Maven·Gradle은 모두 빌드 도구지만 SVN은 빌드 도구가 아니다.

선지 분류 핵심
빌드 도구 1세대 — XML 스크립트
빌드 도구 2세대 — pom.xml·의존성
빌드 도구 3세대 — DSL·Android
형상 관리(정답·아님) SVN — 중앙집중형 SCM

🔑 빌드 도구 보기에 SVN·Git이 끼면 함정(형상 관리). Jenkins가 끼면 함정(CI).

[기출 7 출제] 다음 중 Continuous Delivery(지속적 전달)와 Continuous Deployment(지속적 배포) 의 차이에 대한 설명으로 옳은 것은? (옳은 설명 고르기)

  • ① 두 개념은 같은 약자(CD)를 쓰므로 의미 차이가 없다
  • ② Continuous Deployment는 스테이징까지만 자동이고 운영은 사람 승인이 필요하다
  • ③ Continuous Delivery는 운영까지 완전 자동이며 사람 개입이 전혀 없다
  • ④ Continuous Delivery는 운영 배포에 사람 승인이 필요하고, Continuous Deployment는 운영까지 완전 자동이다
정답 및 해설 보기

정답 ④

Delivery = 사람 승인 / Deployment = 완전 자동. 갈림길은 운영 배포에 사람 승인 단계가 있느냐 없느냐 한 가지.

선지 판정 근거
오답 같은 약자지만 의미는 결정적으로 다름
오답 거꾸로 — 스테이징 자동·운영 승인은 Delivery
오답 거꾸로 — 운영 완전 자동은 Deployment
정답 Delivery=운영 사람 승인 / Deployment=완전 자동

🔑 '운영 배포 사람 승인 유무' 한 가지로 분별. Delivery=승인 / Deployment=자동.

[기출 8 출제] 다음 중 현대 소프트웨어 개발의 CI/CD 파이프라인 흐름 에 대한 설명으로 가장 옳은 것은? (옳은 설명 고르기)

  • ① CI 도구가 직접 코드를 컴파일하고 단위 테스트를 작성한다
  • ② Git commit이 발생하면 즉시 CI 트리거가 자동 발동한다
  • ③ 개발자가 Git push 하면 CI 도구(Jenkins)가 자동 트리거되어 빌드 도구(Maven/Gradle)로 빌드하고, 테스트 도구(JUnit)로 자동 테스트한다
  • ④ CI 도구는 Git의 commit을 직접 감지해 빌드를 트리거한다
정답 및 해설 보기

정답 ③

CI = JUnit + Git push + Jenkins. push → Jenkins 자동 트리거 → Maven/Gradle 빌드 → JUnit 자동 테스트의 흐름이 통합 정답.

선지 판정 근거
오답 CI 도구는 빌드 도구·테스트를 호출할 뿐, 코드 작성은 IDE+개발자
오답 commit은 로컬까지 — push 가 CI 트리거(14강)
정답 push → Jenkins → Maven/Gradle → JUnit 흐름
오답 commit ≠ push — Jenkins는 push를 감지

🔑 commit은 로컬 / push가 트리거 진입점. CI 도구는 빌드 도구를 호출(직접 빌드 아님).


한 장 요약

영역 핵심 암기팁
매뉴얼 2종 사용자=고객(FAQ·설치) / 운영=운영자(장애 대응·백업) · 작성 끝=검토 사용자=고객 / 운영=운영자
릴리스 노트 정의 새 버전 + 변경 이력 공식 통보 + 외부 문서 개발자 내부 문서 = 함정
릴리스 노트 9항 헤더·요약·재현·수정·개선·기여·노트·면책·연락 헤요재수개기노면연
IDE 5대 기능 코딩·디버깅·버전관리·배포·컴파일 + 통합 코디버배컴통
빌드 정의 컴파일+의존성+테스트+패키징+배포 5단계 자동화 컴파일과 동일시 = 함정
영역 핵심 암기팁
빌드 도구 4종 Ant(1세대)·Maven·Gradle(빌드) / Jenkins(CI) 메=의존성·그=유연성·젠=CI대명사
Maven pom.xml + 의존성 자동 다운로드(XML) Maven=XML
Gradle DSL + Android 표준 + 점진적 빌드 Gradle=DSL
Maven vs Gradle 설정 언어 XML vs DSL이 결정적 차이 Maven=XML / Gradle=DSL
Jenkins CI 대명사 · Maven/Gradle 호출 · 빌드 도구 아님 Jenkins = CI 도구 ≠ 빌드 도구
영역 핵심 암기팁
CI 정의 자동 빌드 + 자동 테스트 + 자주 통합 CI = 자동 빌드 + 자동 테스트
CD 두 갈래 Delivery=운영 사람 승인 / Deployment=완전 자동 Delivery=승인 / Deployment=자동
CI/CD 큰 그림 push → Jenkins → Maven/Gradle → JUnit → 배포·릴리스 노트 CI = JUnit + Git + Jenkins
도구 분류 빌드(Ant·Maven·Gradle) / CI(Jenkins) / IDE / 테스트(JUnit) / 형상(Git·SVN) Jenkins·SVN이 빌드 보기에 끼면 함정

🎯 합격 한 끗: 16강 시험 1순위 넷 = 헤요재수개기노면연(릴리스 노트 9항) + Jenkins = CI 도구 ≠ 빌드 도구 + Maven=XML / Gradle=DSL + CI = JUnit + Git + Jenkins(통합형).

단골 함정 6쌍 = 'Jenkins는 빌드 도구'(CI), 'Gradle은 XML'(DSL), 'Delivery는 완전 자동'(사람 승인), '사용자 매뉴얼에 장애 대응'(운영 매뉴얼), '릴리스 노트에 비밀번호'(9항에 없음), 'commit이 트리거 진입점'(push).

13강 단위 테스트·14강 형상 관리가 여기서 Jenkins로 모여 CI/CD가 완성된다 — 자동 테스트가 정확히 무엇을 어떻게 검사하는지(테스트 케이스 설계·레벨별 테스트)는 17강에서 이어진다.

전체 목록 필기 이론

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.