MLops

패스트캠퍼스 챌린지 50일차

Laftel 2022. 3. 14. 19:48
반응형

젠킨스

워크플로우의 간단한 예로 설명해보겠습니다.

젠킨스가 없는 경우 만약에 어떤 개발자가 서브웨이에 있는 코드를 수정할려고 하는 개발을 한다면, 외부에서 노트북으로 이 작업을 할려고 한다면. 수정 개발을 한 다음에 이 코드를 커밋한게 됩니다

커밋한 다음에 다시 이 서브웨이에 돌아와가지고 다시 변경사항이 있는지 깃허브에 들어가서 확인을 하고 코드에 그 변경사항을 반영해야 합니다.

이게 젠킨스가 없는 작업자의 일반적인 워크플로우이다

젠킨스가 있는 경우

개발자가 코드를 수정해서 깃허브에 커밋하기만 하면 이 젠킨스가 미리 커밋을 감지해서 바로 서버에 있는 코드로 자동으로 반영하게 됩니다. 자동 반영에 끝나는 것이 아니라 젠킨스의 일렬의 작업들이 정의되어 있어서 그 작업에 따라서 서버에 속도를 기반으로 한 어떤 동작을 해주게 된다. 예. 캐스팅,어떤 조건에 의해서만 이 부분을 반영할수도 있다. 여러 명령문을 서버에 날릴 수 있다.

jenkins란 ?

작업자가 수정하고 깃허브에 commit하면 jenkins가 감지해서 서버에 자동 반영하게 된다.

jenkins의 장점

소스코드 일관성 유지

  • 소스 관리 시스템은 필요
  • 정적 코드 분석에 의한 코딩 규약 준수여부 체크

자동빌드

  • 커밋에 따른 자동 빌드
  • 시간 간격에 의한 빌드
  • 빌드 관리 툴이 있다면 효율성 극대화

자동 테스팅

  • 빌드 과정에서의 테스팅
  • 결합 테스트 환경 배포
  • 자동 수행으로 안전망 역할

일일 체크아웃과 빌드

컴파일 오류 검출

프로파일링

Jenkins for MLOps

젠킨스가 가지고 있는 일련의 작접을 젠킨스 파이프라인이라고 한다.

젠킨스 파이프라인이 정의되어 있는 것이 젠킨스 파일이라는 것이다.

 

  • Jenkinsfile
    • Jenkinsfile 을 이용해 Job 혹은 파이프라인을 정의할 수 있다. Jenkinsfile 덕분에 일반 소스코드를 다루는 Github 업로드, Vscode 로 수정하는 것으로 파일을 이용할 수 있음
    • 기본적으로 Jenkinsfile을 통해 젠킨스를 실행함
  • Scripted Pipeline (스크립트 파이프라인)
    • Jenkins 관련 구조를 자세히 가지지 않고 프로그램의 흐름을 Java 와 유사한 Groovy 라는 동적 객체 지향 프로그래밍 언어를 이용해 관리되었음
    • 매우 유연하지만 시작하기가 어려움
#스크립트 파이프라인, groovy의 예제 파이프라인
node { ## 빌드를 수행할 node 또는 agent를 의미한다.
    stage("Stage 1"){
        echo "Hello"
    }
    stage("Stage 2"){
        echo "World"
        sh "sleep 5"
    }
    stage("Stage 3"){
        echo "Good to see you!"
    }
}

#위의 스크립트 파이프라인을 Declarative Pipeline (선언적 파이프라인)으로 바꿨다
pipeline {
    agent any
    stages {
        stage('Stage 1') {
            steps {
                script {
                    echo 'Hello'
                }
            }
        }

        stage('Stage 2') {
            steps {
                script {
                    echo 'World'
                    sh 'sleep 5'
                }
            }
        }

        stage('Stage 3') {
            steps {
                script {
                    echo 'Good to see you!'
                }
            }
        }
    }
}

#직장인인강 #직장인자기계발 #패스트캠퍼스후기#온라인패키지:머신러닝서비스구축을위한실전MLOps#머신러닝서비스구축을위한실전MLOps온라인패키지Online.
https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

반응형