brunch

매거진 kakao cloud

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 17. 2024

카카오 클라우드 4탄-18.Git을 통한 이미지 업로드

Git을 통한 컨테이너에 이미지 업로드


<1> 컨테이너 레지스트리 생성

<2> git-action 설정




<1> 컨테이너 레지스트리 생성



 Container Registry 

 비공개

 hands-on

 태그 덮어쓰기 = 가능

 이미지 스캔 = 자동   





 <2> git-action 설정 



 1

 예제 프로젝트 포크 하기 

 아래 예제 Repo를 개인 깃허브 환경으로 Fork합니다 

 https://github.com/kakaoenterprise/kic-library-monolithic   



 2

 Action 파일 작성하기  

 github-action 실행에 사용할 Secret 정보를 작성 


 Repo 관리 페이지 > Settings 탭 

 Security > Secrets and variables > Actions 

시크릿 정보 추가 



프로젝트

kakao-infraeng-dev-pz


레파지토리 이름

hands-on



Fork된 Repo 페이지에 접속하여 main 브랜치에 github-action 설정 파일을 작성합니다. 

Repo 루트 경로에서 .github/workflows/action.yaml 파일을 생성하고 아래 내용을 복사해 붙여 넣습니다.  




 name: KakaoCloud-handson

run-name: KakaoCloud handson workflow

on: [push]

jobs:

  deploy-image:

    runs-on: ubuntu-latest

    steps:

    - name: Set up Qemu

      uses: docker/setup-qemu-action@v2

    - name: Login KakaoCloud

      uses: docker/login-action@v2

      with:

        registry: ${{ secrets.PROJECT_NAME }}.kr-central-1.kcr.dev

        username: ${{ secrets.ACCESS_KEY }}

        password: ${{ secrets.ACCESS_SECRET_KEY }}

    - name: Set ENV

      run: echo "TIME=$(date "+%Y-%m-%d-%H-%M")" >> $GITHUB_ENV

    - name: Build and Push

      uses: docker/build-push-action@v4

      with:

        push: true

        tags: ${{ secrets.PROJECT_NAME }}.kr-central-1.kcr.dev/${{ secrets.REPOSITORY_NAME }}/kep-library:${{ env.TIME }}






Repo에 push 이벤트가 발생하면...


qemu 세팅

카카오클라우드 비공개 컨테이너 레지스트라에 인증 진행

현재 시간을 태그 변수로 설정

프로젝트의 도커 파일을 통해 빌디하고 이미지를 컨테이너 레지스트리에 배포됨.




3


# 결과 확인


Repo에 Push 이벤트를 발생시키고 결과를 확인합니다


카카오클라우드 콘솔 > Container Registry 메뉴에서 이미지가 업로드되었는지 확인




4

참고 사이트

 https://docs.kakaocloud.com/tutorial/dev-ops/gitops/git-image-upload




몰아보기

https://brunch.co.kr/@topasvga/3651




 감사합니다. 


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari