NET5.0 으로 작성한 App CI/CD 구현하기 [2] - Github Action 을 이용한 DockerHub Push 자동화 하기

2021. 8. 3. 15:50·DevOps/Docker
본인의 프로젝트가 Github 에 올라와 있어야 합니다.

 

 

1. 작업할 Github repository Settings 으로 진입하여 Secrets 로 탭을 눌러줍니다.

 

2. New repository secret 버튼을 눌러줍니다.

 

3. 2개의 secret 를 만들어야 합니다. 아래의 secret name을 참고하여 Name 을 기입하고, Value 에는 DockerHub ID와 비밀번호를 기입하여줍니다.

 

4. {GithubRepositoryName}/.github/workflows/docker-publish.yml 생성

 

name: Docker

on:
  push:
    branches:
      - master

    tags:
      - v*

	# master 로 푸시된 모든 것을 대상으로 실행하며, Docker 에서는 latest 로 관리될 것입니다.

env:
  IMAGE_NAME: #본인의 repository name 을 적으세요

jobs:
  # 푸시 및 빌드 전 테스트
  # 참고 : https://docs.docker.com/docker-hub/builds/automated-testing/
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Run tests
        run: |
          if [ -f docker-compose.test.yml ]; then
            docker-compose --file docker-compose.test.yml build
            docker-compose --file docker-compose.test.yml run sut
          else
            docker build . --file Dockerfile
          fi
  # docker-compose 인지 Dockerfile 인지 확인하여 build 를 진행합니다.
  # 다만, 아래 build: 에서 steps: 에 있는 Buildx step 에서 이 행위는 중복됩니다.
  # 즉, 본인의 C# Project Code Test 를 진행토록 해주세요.
  build:
    # Ensure test job passes before pushing image.
    needs: test
    runs-on: ubuntu-latest
    
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        
      - name: Buildx
        id: buildx
        uses: docker/setup-buildx-action@v1
        
      - name: DockerHub Login
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_PASSWORD }}
        
      - name: Build and push
        uses: docker/build-push-action@v2
        with:
          push: true
          tags: (DockerHub ID)/(DockerHub repository name):latest​
본인의 프로젝트 환경에 맞게 조금씩 변형해 주는것을 권장드립니다.

 

여기까지 하셨다면....

 

 

Actions 에서 모든 flow 가 잘 되었는지 확인하고, DockerHub repository 에 가서 본인의 프로젝트가 잘 업데이트가 되어 있는지 확인해 줍니다.

 

 

 

잘 되었습니다.

반응형
저작자표시 비영리 (새창열림)
'DevOps/Docker' 카테고리의 다른 글
  • NET5.0 으로 작성한 App CI/CD 구현하기 [1] - Dockerfile 생성하기
  • error during connect: Post .... LinuxEngine: The system cannot find the file specified. 에러 해결하기
  • Docker for Windows! 윈도우 10 에서 도커 설치하기
Kua
Kua
정보 공유, 개인 정리 공간 입니다.
  • Kua
    Kua's Miscellaneous
    Kua
    • 분류 전체보기 (185)
      • 대문 (2)
      • Tips (25)
        • Chrome (2)
        • Windows (4)
        • IDE (3)
        • 기타 (16)
      • CodingTest (44)
      • Language (20)
        • PHP (5)
        • C# (7)
        • Java (1)
        • Kotlin (7)
      • Framework & Runtime (16)
        • SpringBoot (12)
        • Node.js (2)
        • Vue.js (1)
        • Gradle (1)
      • DevOps (13)
        • Linux (1)
        • Docker (4)
        • Kubernetes (2)
        • Apache Kafka (1)
        • AWS (1)
      • 일상다반사 (53)
        • 도서 (1)
        • 개발 (8)
        • 후기 - IT (7)
        • 후기 - 일상 (13)
        • 차가리 (4)
        • 방송통신대학교 (4)
        • 음식 (2)
      • Games (12)
        • Minecraft (7)
        • VR (2)
        • 그외 (3)
  • 최근 글

  • 인기 글

  • 태그

    bronze2
    error
    Plugin
    후기
    백준
    spring
    github
    알고리즘
    Kotlin
    java
    Algorithm
    minecraft
    bronze1
    Windows
    codingtest
    코딩테스트
    갤럭시
    Silver5
    Spring Boot
    c#
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.0
Kua
NET5.0 으로 작성한 App CI/CD 구현하기 [2] - Github Action 을 이용한 DockerHub Push 자동화 하기
상단으로

티스토리툴바