Top

젠킨스로 배우는 CI/CD 파이프라인 구축 [보안, 파이프라인, 테스트, AWS/Docker 통합]

  • 원서명CI/CD Pipeline Using Jenkins Unleashed: Solutions While Setting Up CI/CD Processes (ISBN 9781484275078)
  • 지은이프라노데이 프라모드 딩가레(Pranoday Pramod Dingare)
  • 옮긴이이정표
  • ISBN : 9791161758244
  • 33,000원
  • 2024년 03월 11일 펴냄
  • 페이퍼백 | 396쪽 | 188*235mm
  • 시리즈 : 소프트웨어 테스팅

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/cicd-pipeline-jenkins

요약

젠킨스를 사용해 프로젝트의 시작부터 최종 단계까지 CI/CD를 구현하는 방법을 설명하고, 엔드투엔드 파이프라인을 직접 만들어 봄으로써 데브옵스 실무에 적응할 수 있는 안내자 역할을 하는 책이다. 젠킨스에 대한 소개부터 시작해서 CI/CD에서의 아키텍처와 역할을 설명하고, 플러그인 설치, 보안 조치, 프로젝트 및 작업 구성, (분산) 파이프라인 구성 등을 다룬다. 또한, TestNG를 사용한 단위 테스트와 셀레늄(Selenium) 파이썬을 사용한 종단간(E-E, End-to-End) 테스트도 살펴본다. 그 외 다양한 운영체제 및 도커 환경, AWS 등의 클라우드 환경에서 젠킨스를 통합하는 방법과 재사용 라이브러리를 생성하고, 젠킨스 CLI 및 REST API를 사용해 젠킨스 서버를 제어하는 방법을 배운다.

이 책에서 다루는 내용

◆ 젠킨스를 사용한 종단간(E-E, End-to-End) 파이프라인 생성
◆ 젠킨스와 아마존 웹 서비스(AWS, Amazon Web Services), 도커, 깃 등 주요 도구와의 통합
◆ 셀레늄을 사용한 E-E 테스트 자동화
◆ 분산 파이프라인 생성

이 책의 대상 독자

CI/CD 파이프라인을 구축하는 개발자, 테스트 자동화 엔지니어, 데브옵스 전문가를 꿈꾸는 중급 운영자에게 도움이 된다.

지은이의 말

젠킨스를 사용해 지속적 통합(CI, Continuous Integration), 지속적 제공, 지속적 배포(CD, Continuous Deployment)를 이해하려는 독자를 위해 이 책을 집필했다. 지속적 통합과 배포(CI/CD) 프로세스를 구축하면 사용자와 관리자는 소프트웨어 개발 과정에서 발생하는 문제를 즉각 파악할 수 있게 된다.
젠킨스에 대한 소개로 시작해 CI/CD에서의 젠킨스 아키텍처와 역할을 다룬다. 그리고 젠킨스 설치 방법 및 환경 설정 같은 기본 사항도 살펴보며, 도구 구성 및 플러그인은 물론 자격 증명과 같은 보안 조치도 설명한다. 또한 유형, 섹션 등을 포함해 젠킨스의 작업에 대해 자세히 배우고, 자바(Java) API 프로젝트의 작업과 구성도 알아본다. 책의 후반부터는 파이프라인(pipeline)의 생성 방법과 웹 애플리케이션(web application) 관리에서의 역할 및 분산 파이프라인을 다룬다. 깃(Git)이라는 분산 버전 제어 시스템의 작동을 배우고, SSH 같은 다양한 인증 기술을 사용해 접속하는 방법에 대한 예제와 시나리오도 알아볼 것이다. 테스트와 관련해서는 TestNG를 사용한 단위 테스트와 셀레늄(Selenium) 도구를 사용한 종단간(E-E, End-to-End) 테스트 수행 절차를 배운다. 또한 아마존 웹 서비스(AWS, Amazon Web Services)와 같은 클라우드 환경과 젠킨스의 통합에 대해서도 설명한다. 젠킨스 파이프라인에서 사용할 재사용 가능한 라이브러리를 만드는 방법과 젠킨스 명령행 인터페이스(CLI, Command Line Interface) 및 REST API를 사용해 서버를 제어하는 방법도 다룬다.
이 책을 학습하면 처음 프로젝트를 시작할 때부터 젠킨스를 사용해 CI/CD를 구현하는 방법과 데브옵스를 준비할 때 도움을 받을 수 있다.

저자/역자 소개

지은이 소개

프라노데이 프라모드 딩가레(Pranoday Pramod Dingare)

소프트웨어 테스트 분야에서 15년 이상의 경력을 가진 인증된 소프트웨어 테스트 전문가로, 자동화 테스트 분야에서 10년 이상의 경력이 있다. 지난 8년 동안 모바일 애플리케이션의 테스트 자동화를 주도해왔으며 테스트 자동화 도구 전파, R&D, 개념 증명, 파일럿 프로젝트에 참여했다.
인도 및 해외의 다양한 스타트업과 중견 IT 기업에서 프리랜서 테스트 자동화 컨설턴트로 활동했다. 그의 오픈 소스 테스트 자동화 도구는 상용 제품을 성공적으로 대체해 비용을 크게 절감했다.
젠킨스(Jenkins), 깃랩(Gitlab), 넥서스(Nexus), 도커(Docker) 등의 데브옵스(DevOps) 도구를 구현해 조직의 테스트 자동화 프로세스에 데브옵스 관행을 통합하는 일을 담당하고 있다. 최근 데브옵스 전담 업무로 전환해 지난 1년 동안 데브옵스 선임 전문가로 일하고 있다.
도커, 메이븐(Maven), 쿠버네티스, 깃, 넥서스, 애저 데브옵스(Azure DevOps), AWS, 소나큐브(SonarQube), 젠킨스 등과 같은 다양한 데브옵스 도구를 구현했으며 다양한 애플리케이션의 빌드 및 배포 프로세스를 자동화하는 데 중요한 역할을 해왔다.
최신 테스트 자동화와 데브옵스 도구에 대한 200회 이상의 소매 및 기업 교육을 진행하는 등 9년 이상 소프트웨어 테스트와 데브옵스 교육에 종사해 온 강사다.
또한 최신 테스트 자동화 도구와 기술에 대한 블로그도 운영한다.
테스트 자동화 아키텍트로서 최신 도구와 기술에 대한 지식을 가르치고 공유하며 전문가들이 꿈을 이룰 수 있도록 돕는 일에 열정을 쏟고 있다.

옮긴이의 말

소프트웨어 개발 기업의 역량을 파악하는 가장 중요한 평가 요소 중에는 애플리케이션 수명 관리(ALM, Application Lifecycle Management) 환경을 얼마나 잘 갖추고 운영하는지를 점검하는 항목이 있다. 여기서 말하는 ALM은 비즈니스의 요구 사항 관리와 소프트웨어 개발 과정을 융합하고 이를 자동화된 툴을 이용해 관리하는 것으로, 요구 사항 관리, 설계, 코딩, 테스트, 이슈 관리, 릴리스 등을 모두 포함한다.
하루가 다르게 진보하는 기술의 변화 속에서 소프트웨어 개발사가 다양한 고객의 요구를 만족시키면서도 지속성을 유지하려면 적은 인원으로도 효율적으로 빠르게 운영될 필요가 있다. ALM 환경이 얼마나 효율적으로 운영되는지를 통해서 기업의 역량을 간접적으로 파악할 수가 있는 것이다. 이제는 국내에서도 많은 기업이 배포 자동화, 품질 검증 활동 자동화 등을 비즈니스 역량과 통합해 대응하고 있으며, 이를 지원하는 도구도 다양하다. 하지만 그중 대표적인 자동화 솔루션인 젠킨스가 여전히 가장 높은 점유율을 갖고 있다.
윈도우 기반의 젠킨스를 활용해 지속적 통합과 배포 환경을 구축하는 방법을 자세하게 다루는 이 책이 유사한 환경에서 젠킨스 자동화 솔루션을 구축하고 관리하는 데 큰 도움이 될 것이라 생각한다.
아쉬운 점은 젠킨스가 아직 완벽한 한글화가 되지 않아, 영문 그대로 쓰는 경우가 많다는 것이다. 아마 이는 개발사의 규모와 상관없이 젠킨스를 운영 관리하는 사람은 소수이기 때문이기도 할 것이다. 이런 이유로 이 책에서는 영문 버전 젠킨스를 기본으로 하고, 필요시 우리말로 부연 설명을 하는 방식으로 독자에게 편의를 제공하고자 했다.

옮긴이 소개

이정표

모바일 브라우저 개발부터 클라우드 서비스 기획까지 20년간 다양한 개발 프로젝트에 참여했으며, 현재는 SW와 IT 분야의 기술 조사와 분석 업무를 하고 있다. 옮긴 책으로는 에이콘출판사에서 펴낸 『난독화, 디지털 프라이버시 생존 전략』(2017), 『젠킨스 마스터』(2018), 『젠킨스 블루오션 시작하기』(2019), 『린 모바일 앱 개발』(2019), 『알고리즘 윤리』(2021), 『배포 자동화와 지속적 인도』(2022), 『알고리듬으로 생각하기』(2023) 등이 있다.

목차

목차
  • 1장. 지속적 통합/배포의 이해
    • 개발 워크플로
      • 로컬에서 단위 테스트 실행
      • 중앙 리포지터리로 코드 푸시 및 병합
      • 병합 후 코드 컴파일
      • 컴파일된 코드에서 테스트 실행
      • 아티팩트 배포
    • 지속적 제공/지속적 배포
    • CI/CD 워크플로 예제
      • 최신 코드 가져오기
      • 단위 테스트 구현과 실행
      • 코드 개발
      • 단위 테스트 케이스 재실행
      • 코드 푸시와 병합
      • 코드 병합 후 컴파일
      • 병합된 코드에서 테스트 실행
      • 아티팩트 배포
      • 배포 애플리케이션의 E-E 테스트 실행
    • 요약

  • 2장. 젠킨스 소개
    • 젠킨스란?
      • 젠킨스의 역사
      • 젠킨스를 이용한 CI/CD 구현
      • 젠킨스 아키텍처
    • 요약

  • 3장. 젠킨스 설치
    • 윈도우에 젠킨스 설치
      • 하드웨어/소프트웨어 요구 사항
      • 다양한 젠킨스 설치 방법
      • 젠킨스의 구성 파일 및 디렉터리 구조 이해
      • jenkins.xml 의 주요 설정값 이해
    • 요약

  • 4장. 젠킨스 구성
    • 전역 설정 및 경로의 구성
      • 젠킨스 로그인
      • 시스템 구성 옵션 이해
      • 사용자 이름과 비밀번호 재설정
      • 신규 사용자 추가
    • 요약

  • 5장. 젠킨스 플러그인 관리
    • 플러그인이란
      • 많이 사용되는 플러그인
      • 플러그인 설치
      • 플러그인 매니저 이해
    • 설치 문제 해결법
      • 문제 1
      • 문제 2
    • 요약

  • 6장. 전역 도구 구성의 이해
    • 전역 도구 구성 설정
      • 전역 도구 구성의 이해
    • 요약

  • 7장. 젠킨스의 보안 관리
    • 젠킨스의 전역 보안 구성
      • 젠킨스 LDAP 구성
      • 젠킨스 LDAP 필요성
      • 젠킨스 LDAP 구성
    • 요약

  • 8장. 자격 증명 관리
    • 젠킨스의 자격 증명 이해
    • 자격 증명 항목 생성
      • 범위 및 도메인 이해
      • 젠킨스에서 자격 증명 항목 생성
      • 전역 범위와 전역 도메인(기본값)에서 자격 증명 항목 생성
      • 자격 증명 항목 업데이트
      • 특정 도메인에서 자격 증명 항목 생성
    • 자격 증명 공급자 구성
    • 요약

  • 9장. 사용자 관리
    • 젠킨스 사용자 생성
    • 젠킨스 사용자에게 역할 할당
      • 역할-기반 전략 플러그인 설치
      • 역할-기반 전략 플러그인 활성화
      • 젠킨스에서 역할 생성
      • 사용자에게 역할 할당
      • 역할 할당 확인
    • 프로젝트-기반 역할 생성
      • 프로젝트-기반 역할 할당
      • 프로젝트-기반 역할 검증
    • 매트릭스-기반 보안 이해
    • 프로젝트-기반 매트릭스 권한 부여 전략 이해
    • 요약

  • 10장. 젠킨스 작업의 이해
    • 젠킨스의 작업
    • 젠킨스의 빌드
    • 프리스타일 작업
    • 젠킨스의 작업 생성
    • 젠킨스의 작업 구성
      • 매개변수형 프로젝트
      • 프로젝트 비활성화
      • 동시 빌드 실행
      • 대기 시간
      • 재시도 회수
      • 업스트림 프로젝트가 빌드 중일 때 빌드 차단
      • 다운스트림 프로젝트가 빌드 중일 때 빌드 차단
      • 커스텀 워크스페이스 사용
      • 표시 이름 지정
      • 의존성 빌드 로그 유지
      • 소스 코드 관리
      • 빌드 브랜치
      • 빌드 트리거
      • 빌드 스텝
      • 포스트-빌드 액션
    • 작업 실행 및 결과 확인
    • 작업 수정
    • 워크스페이스 보기
    • 워크스페이스 비우기
    • 작업 삭제
    • 요약

  • 11장. 메이븐으로 자바 API 프로젝트 준비
    • 메이븐 빌드 도구의 이해
      • 자바 API 프로젝트 개발 과정
      • 개발자 지원 빌드 도구 사용법
      • 자바 API 프로젝트 빌드
      • 메이븐 프로젝트 디렉터리 구조
      • 자바 API 프로젝트 코드 파일
      • 자바 API 프로젝트의 pom.xml 파일
      • CLI에서 메이븐 사용
      • 메이븐의 settings.xml 파일
    • 요약

  • 12장. 메이븐과 넥서스 통합 및 자바 API 릴리스용 프리스타일 작업 생성
    • 깃의 이해
    • 깃 설치
    • 깃허브와 깃랩
    • 깃 프로세스 이해
      • 1단계: 로컬 리포지터리 생성
      • 2단계: 깃랩에 중앙 리포지터리 생성
      • 3단계: 로컬 리포지터리로 커밋
      • 4단계: 로컬 리포지터리의 코드를 깃랩으로 푸시
      • 5단계: 깃랩의 리포지터리에 마스터 브랜치 생성
    • 넥서스 리포지터리의 이해
      • 아티팩트
      • 넥서스 리포지터리
    • 넥서스 리포지터리 설치
    • 넥서스 리포지터리 시작
    • 넥서스 설치: 윈도우 서비스
    • 넥서스 리포지터리 매니저 접속
    • 호스티드 리포지터리 생성
    • 메이븐과 넥서스 리포지터리 통합
      • 넥서스 리포지터리에서 CalculatorAPI.jar 파일 릴리스
    • 넥서스 리포지터리에서 CalculatorAPI.jar를 릴리스하는 젠킨스 프리스타일 작업 생성
      • 1단계: 젠킨스에서 메이븐 설정
      • 2단계: 깃 리포지터리 자격 증명 추가
      • 3단계: 젠킨스 대시보드에서 프리스타일 작업 생성
      • 4단계: API 프로젝트에 뺄셈 함수와 단위 테스트 케이스 추가
      • 5단계: 로컬 리포지터리에서 커밋과 푸시 실행
      • 6단계: SubtractionFunction 브랜치를 깃랩 중앙 리포지터리의 Master 브랜치와 병합
    • 넥서스 리포지터리에서 CalculatorAPI.jar를 릴리스하는 젠킨스 프리스타일 작업 실행
    • 요약

  • 13장. 자바 API 릴리스를 관리하는 자동 실행 프리스타일 작업 생성
    • 비공개 깃랩 리포지터리에 컨트리뷰터 추가
      • 코드 리포지터리에 팀원 초대
    • SSH 인증 이해
      • SSH 인증 필요성
      • 깃랩의 SSH 인증 동작 방식
    • 자바 API 코드 리포지터리에 SSH 인증 적용
      • 1단계: 공개 키와 개인 키를 생성
      • 2단계: JenkinsBookCalculatorAPI 깃랩 리포지터리에 공개 키 추가
      • SSH를 이용한 리포지터리 접속과 함수 추가
      • 1단계: JenkinsBookCalculatorAPI 리포지터리 복제
      • 2단계: Calculator 클래스에 Multiplication 함수 추가
      • 3단계: Multiplication 함수의 테스트 케이스 추가
      • 4단계: pom.xml에서 버전을 3.0으로 변경
      • 5단계: 단위 테스트 및 신규 기능의 회귀 테스트
      • 6단계: 로컬 브랜치에 기능 변경 사항 커밋
      • 7단계: 로컬 브랜치를 원격 리포지터리로 푸시
      • 8단계: 새로 추가된 브랜치의 병합 요청
    • 이메일 알림 기능을 갖는 자동 실행 젠킨스 작업 생성
      • 1단계: 프리스타일 작업 생성
    • 젠킨스에서 이메일 알림 설정
    • 새 젠킨스 작업 시작
    • SCM이 설정된 작업 실행
    • 빌드 실패 이메일 알림 확인
    • 요약

  • 14장. 젠킨스 파이프라인의 이해
    • 젠킨스 파이프라인
    • 파이프라인의 장점
    • 파이프라인 용어 이해
    • 파이프라인 구문
      • 선언형 파이프라인 기초
      • 스크립트형 파이프라인 기초
    • 젠킨스에서 파이프라인 정의
      • 파이프라인 속도/내구성 오버라이드
    • java.lang.IllegalArgumentException:
    • Unsupported Class File Major Version Error 해결
    • 젠킨스 파이프라인의 문자열 보간 이해
      • 문자열 보간 예제
    • 자바 API를 릴리스하는 파이프라인 작업 생성
    • 파이프라인 작업 실행 및 Calculator API 릴리스
    • 요약

  • 15장. 웹 애플리케이션 프로젝트를 관리하는 젠킨스 작업 생성
    • 계산기 웹 애플리케이션의 소스 코드
    • 계산기 웹 애플리케이션 구현
    • 계산기 웹 애플리케이션 배포
    • 계산기 웹 애플리케이션 접속
    • 셀레늄을 이용한 E-E 테스트 이해
      • UI 자동화 테스트
    • UI 자동화 도구의 동작 방식
      • 셀레늄 웹드라이버
      • 파이썬으로 작성된 셀레늄 테스트 이해
      • 테스트 케이스 실행에 필요한 소프트웨어 설정
      • 셀레늄 파이썬 테스트 실행
    • 웹 애플리케이션 및 자동화 테스트 프로젝트를 깃허브 리포지터리로 푸시
      • 1단계: 깃허브 가입
      • 2단계: 새 리포지터리 생성
      • 3단계: 깃허브 리포지터리용 SSH 키 쌍 생성
      • 4단계: $(user.name)\.ssh\config 파일에 SSH 개인 키 파일 경로 넣기
      • 5단계: 깃허브 리포지터리에 SSH 공개 키 추가
      • 6단계: 계산기 웹 애플리케이션을 로컬 리포지터리의 마스터 브랜치에 커밋
      • 7단계: 마스터 브랜치를 원격 리포지터리로 푸시
    • 셀레늄 파이썬 자동 프로젝트를 깃허브로 푸시
    • 매개변수형 자동 실행 프리스타일 젠킨스 작업 생성
      • 1단계: Parameterized Trigger 플러그인 설치
      • 2단계: BuildAndDeployCalculatorWebApplication 작업 생성
      • 3단계: TestCalculatorWebApplication 작업 생성
    • 확장 이메일 알림 기능 구성
      • 1단계: 이메일 확장 플러그인 설치
      • 2단계: 확장 이메일 설정
      • 3단계: TestCalculatorWebApplication 작업의 .
      • Post-Build 섹션에서 Email Notification 스텝 추가
    • 매개변수형 프리스타일 작업 수동 실행
    • 매개변수형 프리스타일 작업 자동 실행
    • 매개변수형 파이프라인 작업 생성
    • 계산기 웹 애플리케이션 매개변수형 파이프라인 작업의 빌드 생성과 배포
    • TestCalculatorWebApplication 파이프라인 작업 생성
    • 매개변수형 파이프라인 작업 수동 실행
    • 매개변수형 파이프라인 작업 자동 시작
    • 요약

  • 16장. 코드형 파이프라인 이해
    • API 인증
    • 깃허브 리포지터리에 API 인증 적용
    • API 토큰으로 비공개 깃허브 리포지터리에 접속
    • 깃랩에서 API 액세스 토큰 생성
    • API 토큰으로 비공개 깃랩 리포지터리에 접속
    • 젠킨스에서 API 토큰으로 깃허브/깃랩 리포지터리에 접속
      • 1단계: 젠킨스에서 메이븐 설정
      • 2단계: 젠킨스 대시보드에서 프리스타일 작업 생성
      • 3단계: 복제된 API 프로젝트의 pom.xml 버전 변경
      • 4단계: 로컬 리포지터리에서 변경 사항을 커밋하고 깃랩 중앙 리포지터리로 푸시
    • API 토큰으로 깃랩 리포지터리에 접속하는 프리스타일 작업 실행
      • 코드형 파이프라인 이해
      • Jenkinsfile에서 파이프라인 작성
    • 깃허브 웹훅으로 시작하는 파이프라인 작업 생성
    • 깃허브 웹훅을 사용해 파이프라인 작업 시작
    • 요약

  • 17장. 젠킨스 분산 빌드
    • 젠킨스의 분산 아키텍처
    • 컨트롤러와 에이전트의 연결
    • SSH로 컨트롤러에서 에이전트로의 연결
      • 1단계: SSH Build Agents 플러그인 설치
      • 2단계: 에이전트에 자바 설치
      • 3단계: SSH 공개 키-개인 키 쌍 생성
      • 4단계: 개인 키가 포함된 자격 증명 항목을 컨트롤러 기기에 추가
      • 5단계: 젠킨스 컨트롤러에 노드 추가
      • 6단계: 에이전트의 authorized_keys 파일에 공개 키 추가
      • 7단계: 에이전트의 authorized_keys 파일 권한 변경
      • 8단계: sshd 서비스 재시작
      • 9단계: 컨트롤러에서 에이전트로의 연결 확인
      • 10단계: 컨트롤러에서 새 노드 시작
    • Node1 에이전트에서 실행할 프리스타일 작업 생성
    • Node1 에이전트에서 새로운 프리스타일 작업 실행
    • JNLP를 사용해 에이전트와 컨트롤러를 연결하는 구성 이해
      • 1단계: JNLP 에이전트의 연결 요청을 수신하도록 젠킨스 컨트롤러 구성
      • 2단계: 젠킨스 URL 설정
      • 3단계: 에이전트 기기에서 새 노드 추가
    • JNLP 노드에서 실행할 작업 생성
    • 요약

  • 18장. AWS와 젠킨스 통합
    • AWS의 EC2 인스턴스 이해
    • AWS에서 EC2 인스턴스 생성
      • 1단계: AWS 가입
      • 2단계: AWS 로그인
      • 3단계: EC2 인스턴스 생성
      • 4단계: EC2 인스턴스 시작
    • 계산기 웹 애플리케이션 배포용 EC2 인스턴스 구성
      • 1단계: IIS 웹 서버 설치
      • 2단계: IIS 웹 서버 구성
      • 3단계: 로컬 컴퓨터와 EC2 인스턴스 간의 SSH 연결 구성
    • Calculator.html 파일을 EC2 인스턴스에 복사
    • 로컬 컴퓨터에서 EC2 인스턴스의 Calculator.html 접속
    • EC2 인스턴스에 계산기 웹 애플리케이션을 배포하는 젠킨스 작업 생성
    • 셀레늄 프레임워크에서 계산기 애플리케이션 URL 변경
    • BuildAndDeployCalculatorWebApplicationOnEC2Instance 작업 실행
    • 요약

  • 19장. 기타 주제 - 1부
    • 젠킨스 CLI 이해
    • 젠킨스 CLI 파일 다운로드
    • 젠킨스 CLI로 작업 생성
      • 기본 인증을 이용한 사용자 인증
      • CLI 명령으로 SSH를 이용한 사용자 인증
      • 방화벽에서 인바운드 규칙 구성
      • SSH 인증을 사용해 젠킨스 CLI로 작업 빌드
    • 작업 내보내기
    • 작업 가져오기
    • 요약

  • 20장. 기타 주제 - 2부
    • 젠킨스의 원격 액세스 API 이해
    • 젠킨스 원격 액세스 API 사용
      • 젠킨스 원격 API로 기존 젠킨스 작업 구성 입수
      • 젠킨스 원격 API로 새 젠킨스 작업 생성
      • 젠킨스 원격 API로 매개변수형 젠킨스 작업 시작
      • 젠킨스 원격 API로 일반 젠킨스 작업 시작
    • Python-Jenkins로 젠킨스 서버 작업
      • Python-Jenkins 패키지 라이브러리 사용
    • 젠킨스 파이프라인에서 공유 라이브러리 사용
      • 1단계: .groovy 파일에 공유 라이브러리 생성
      • 2단계: 생성된 공유 라이브러리 파일을 깃랩 리포지터리로 푸시
      • 3단계: 젠킨스에서 공유 라이브러리 구성
      • 4단계: 공유 라이브러리 사용 파이프라인 작업 생성
      • 5단계: 파이프라인 작업 실행하기
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안