MLops

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

Laftel 2022. 3. 11. 20:53
반응형

생성한 Docker Image 를 Docker Hub 에 Push 한다.

  • Workflow 설명
    • 작성한 App 을 빌드한다
    • Docker 이미지로 생성한다
    • Docker Repository 로 추가한다
  • Dockerfile 예제 가져오기

https://docs.docker.com/language/python/build-images/

Build your Python image

docs.docker.com

#yaml
# syntax=docker/dockerfile:1

FROM python:3.8-slim-buster

WORKDIR /app

COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt

COPY . .

CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"]
  • Docker Image 빌드
    • Docker hub 로 이동 (https://hub.docker.com/)
    • github-actions-app 라는 이름으로 repo 생성
    • 구글에서 docker build and push action 으로 검색 (https://github.com/marketplace/actions/docker-build-push-action)
      • Docker Hub 지원
      • Secrets 설정 필요
        • github - settings - Secrets - New
        • Name : DOCKER_USERNAME - yunjjun
        • Name : DOCKER_PASSWORD - dockerhub 에서 access token 생성
        • 비밀번호의 경우 실제 비밀번호와 Access Tokens 모두 가능
    • 다양한 Inputs
    • 추가할 Dockerfile
#yaml

name: Build & push Docker image
    uses: mr-smithers-excellent/docker-build-push@v5
		with:
		  image: docker-hub-repo/image-name
			tags: v2, latest
		  registry: docker.io
		  username: ${{ secrets.DOCKER_USERNAME }}
		  password: ${{ secrets.DOCKER_PASSWORD }}
  • [본인 Docker Hub 아이디]/github-actions-app 으로 image 변경
  • os 는 ubuntu-latest 만 남겨두기
  • ci.yml 최종본
#yaml
name: Python application

on:
  push:
    branches: [ python-ci-workflow ]
  pull_request:
    branches: [ python-ci-workflow ]

jobs:
  build:
    runs-on: ubuntu-latest
    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)"
    - name: Build & push Docker image
      uses: mr-smithers-excellent/docker-build-push@v5
      with:
        image: yunjjun/github-actions-app
        tags: v3, latest
        registry: docker.io
        username: ${{ secrets.DOCKER_USERNAME }}
        password: ${{ secrets.DOCKER_PASSWORD }}
```



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

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

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

fastcampus.co.kr

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

반응형