Skip to main content
오픈소스를 활용한 DevOps 환경 이해 동영상

오픈소스를 활용한 DevOps 환경 이해




강좌 소개

수업내용/목표

오픈소스를 활용한 DevOps 환경을 이해할 수 있고, 최근 가장 많이 활용되는 도구를 활용한 개발/통합/테스트/배포 환경 구축과 사용법을 습득하여 자동화된 정적분석과 테스트 환경을 구축할 수 있습니다.

홍보/예시 영상

강좌 운영 계획

강의계획서
주차 주차명 주차별 학습목표 차시명
1 DevOps와 오픈소스 소프트웨어 DevOps와 오픈소스 소프트웨어의 주요 개념 및 주요 활동과 사례를 통해 DevOps 공정을 이해 할 수 있고, DevOps 영역 별 대표적인 오픈소스 도구에 대해서 파악할 수 있다. 1-1. DevOps와 오픈소스 이해
1-2. DevOps 공정
1-3. DevOps 사례
1-4. 오픈 소스 DevOps 도구
2 DevOps의 기초, 로컬 개발 이해 간단한 형태의 로컬 개발 및 환경을 이해할 수 있고, 깃헙과 깃 사용을 통해서 분산 환경에서의 소스코드 관리 개념 및 아파치 메이븐을 사용한 로컬 환경 프로젝트 관리 개념을 이해할 수 있다. 2-1. 로컬 개발환경 이해
2-2. 소스코드 관리(1)
2-3. 소스코드 관리(2)
2-4. 프로젝트 빌드관리
3 지속적 통합- 지속적 통합의 개념과 Open Source를 통한 지속적 통합환경을 구축할 수 있다. 3-1. 지속적통합의 정의 및 필요성에 대해 이해한다.
3-2. Jenkins를 활용한 지속적 통합 환경 구성
3-3. 개발/빌드(컴파일)/바이너리 관리방안
3-4. 형상관리 시스템과의 연계방안
3-5. 자동화 빌드환경 구현
3-6. SW 산업현장에서의 Jenkins를 활용한 지속적 통합 환경 활용 사례
4 지속적 배포 지속적 배포의 개념과 주요 구현 방안을 습득할 수 있다. 4-1. 지속적 배포의 정의 및 필요성
4-2. Jenkins를 활용한 배포 파이프라인 구성
4-3. 클라우드 환경에서의 개발을 위한 빌드/배포 환경 구성
4-4. Docker에 배포하기
4-5. 대량의 컨테이너의 운영을 위한 Kubernetes Docker이미지 배포 방법
5 정적분석과 소스 품질 정적 분석의 개념과 필요성에 대해 설명할 수 있고, 자동화된 정적 분석 도구를 활용한 소스코드 품질을 관리할 수 있다. 5-1. 정적 분석의 이해와 관련 도구 소개
5-2. SW 구조 분석 도구
5-3. SonarQube의 특징
5-4. SonarQube 사용
6 소스코드리팩토링 소스코드 리팩토링의 개념과 필요성에 대해 설명할 수 있고, 리팩토링 방법을 적용하여 소스코드의 실질적 품질을 높일 수 있다. 6-1. 리팩토링 개념과 필요성
6-2. 리팩토링 개념 및 기법(1)
6-3. 리팩토링 개념 및 기법(2)
6-4. 리팩토링 개념 및 기법(3)
7 자동화 테스트 오픈소스를 활용하여 자동화된 테스트환경을 구축할 수 있다. 7-1. 테스트 자동화 도구 활용동향
7-2. Junit을 활용한 단위테스트 수행 방법
7-3. Postman를 활용한 API 테스트 수행 방법
7-4. Katalon를 활용한 UI 테스트 수행 방법
7-5. jmeter를 활용한 애플리케이션 성능 테스트 방법
7-6. SW 산업현장에서 테스트 자동화 활용 사례
기말시험

 

강좌운영팀 소개

교수자

이정민 수석
이정민 수석
현) SK주식회사 C&C 통합품질혁신팀 수석
SK주식회사 표준 개발방법론 제정(Cloud Native Application Development
Methodology)
방위사업청 육군KCTC체계 개발사업 등 다수의 IT서비스 개발 프로젝트(CBD, MSA) 수행
차일환 수석
차일환 수석
현) SK주식회사 C&C 통합품질혁신팀 수석
SK주식회사 표준 개발방법론 제정(Cloud Native Application Development
Methodology)
JCB카드, MUFJ은행, 한국증권금융 등 다수의 ITS 개발 프로젝트 수행 (한국/일본)

강좌지원팀

장미
장미
KAIST 문화기술대학원 박사과정
E-mail: rosechang@kaist.ac.kr

강좌 수강 정보

이수/평가정보

이수/평가정보
과제명 퀴즈 토론 중간고사 기말고사
반영비율 60% 0% 20% 20%

※ 평가는 퀴즈 60%와 기말고사 40%로 이루어져 있으며, 총 60% 이상 점수 획득 시, 이수증을 발급받을 수 있습니다.

강좌 수준 및 선수요건

이 강좌는 유익한 내용이 다수 포함되어 있습니다. 소프트웨어에 관심이 있거나 소프트웨어를 개발하는 실무자들에게 유익한 강좌입니다. 이 강좌는 "소프트웨어 공학: 왜, 무엇을, 어떻게?" 강좌, "클라우드 서비스 아키텍처" 강좌, "소프트웨어 테스팅", "Microservice 설계 및 구현" 강좌를 선수학습하시면 더욱 수월하게 수강하실 수 있습니다.

교재 및 참고문헌

이 강좌는 교안을 제공합니다.

자주 묻는 질문

강좌 교재가 따로 있나요?

교안을 제공합니다.

질문(강의 내용 및 수강 문의, 기술적 문제 등)은 어떻게 하나요?

게시판이나 조교 이메일, 운영팀 이메일로 문의주시면 24시간 내에 답변 드리겠습니다.

제목

소제목

내용

관련 강좌

  1. major

    Engineering
    (Computers & Communication)
  2. 강좌 내용의 어려운 수준을 의미합니다. 교양, 전공기초, 전공심화 순으로 난이도가 증가합니다.

    Course difficulty

    intermediate
  3. 강좌를 개발하고 운영하는 기관입니다. 컨소시엄으로 운영 시, 대표기관의 명칭이 나타납니다

    univ_name

    KAISTk
  4. 강좌의 구성 주차 수를 의미합니다. (강좌를 충실히 학습하기 위해 필요한 주당 학습시간을 의미합니다.)

    Course Week
    (Estimated Effort)

    08week
    (주당 03시간 00분)
  5. 본 강좌 이수자에게 인정되는 학습시간으로 해당 강좌의 동영상, 과제, 시험, 퀴즈, 토론 등의 시간을 포함합니다. (강의 내용과 관련된 동영상 재생 시간의 총 합계입니다.)

    Accredited learning time
    (Video Duration)

    12시간 00분
    (10시간 00분)
  6. 수강신청이 가능한 기간으로 해당 기간 내에만 수강신청이 가능합니다.

    Course Registration Period

    2019.02.11 ~ 2019.02.24
  7. 강좌가 운영되고 교수지원이 이루어지는 기간입니다. 이수증은 강좌운영기간이 종료된 이후에 발급받을 수 있습니다.

    Classes Period

    2019.02.18 ~ 2019.04.28