MLops

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

Laftel 2022. 3. 10. 21:15
반응형

Github Actions 기반 CI/CD - Build

Github Actions 를 활용하여 Docker Image 를 Build

깃허브 리파지토리를 만들고 actions를 클릭하면 다양한 워크플로우들의 템플릿을 볼 수 있다.
그거는 azure서비스나 aws서비스 이용하는 워크플로우가 될 수가 있고 아니면 여러가지 언어들이나 프레임워크들을 따라서 달라지는 워크플로우일 수도 있다. 다양한 워크플로우들이 준비되어 있다. 워크플로우를 작성하려고해도 기반이 되는 워크플로우들이 준비되어 있다.
파이썬 워크플로우를 선택해서 진행하겠다.

  • Workflow file 생성
    • yaml 파일 내용을 vscode 로 가져오기
    • Github event 알아보기
      name [optional] optional 반드시 기입 x
      on [required] events required 반드시 기입
      	: workflow 를 시작하게 할 수 있는 Github event 의 이름
      	: jobs [required]   jobs.<job_id>
      	: one or more jobs 
      	: sequence of tasks (steps)
      	: steps 1) can run commands, 2) setup tasks 3) run an action
      		- uses : selects an action (actions/ 다음에는 재사용 가능 코드 위치)
      		- run  : runs a command-line command
      name: Python application
      
      on:
        push:
          branches: [ python-ci-workflow ]
        pull_request:
          branches: [ python-ci-workflow ]
      
      jobs:
        build:
          steps:
          - uses: actions/checkout@v2
          - name: Set up Python
            uses: actions/setup-python@v2
            with:
              python-version: "3.8"
          - name: Display Python version
            run: python -c "import sys; print(sys.version)"
      
    • actions 알아보기
    • yml 파일 이름을 ci.yml 으로 변경
    • Start commit → Create a new branch.. → 이름을 'python-ci-workflow' 로 변경 → Create pull request
    • Details 클릭 → build
    • 이 코드들은 어디서 실행되는 걸까?
      • Github 에 의해 관리된다
      • Workflow 의 각 jobs 은 새로운 가상 환경에서 실행된다
  • runs-on 은 실행되는 서버의 운영체제를 나타낸다.
    • ubuntu, Windows, Mac
#yaml
jobs:
	build:
		runs-on: ubuntu-latest
		strategy:
			matrix:
				os: [ubuntu-latest, windows-latest, macOS-latest]
  • ci.yml 을 업데이트 한다.
    • 세 가지 운영 체제 모두에서 세 개의 빌드가 병렬로 실행된다.
    name: Python application
    
    on:
      push:
        branches: [ python-ci-workflow ]
      pull_request:
        branches: [ python-ci-workflow ]
    
    jobs:
      build:
        runs-on: ${{ matrix.os }}
        strategy:
          matrix:
            os: [ubuntu-latest, macos-latest, windows-latest]
            python-version: ['3.6', '3.8']
            exclude:
              - os: macos-latest
                python-version: '3.8'
              - os: windows-latest
                python-version: '3.6'
    
        steps:
        - uses: actions/checkout@v2
        - name: Set up Python
          uses: actions/setup-python@v2
          with:
            python-version: ${{ matrix.python-version }}
        - name: Display Python version
          run: python -c "import sys; print(sys.version)"
    


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

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

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

fastcampus.co.kr

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




반응형