Search

Github Actions 을 이용한 프로젝트 Image build, push 자동화

태그
Docker
github Actions
분류
DevOps

.github

위와같이 work flow 파일이 들어갈 디렉토리를 프로젝트 최상단에 만들어줍니다.

workflow yml 파일 생성

name: Build and Push Java Application on: push: branches: - main env: JAVA_VERSION: '17' GRADLE_VERSION: '8.1.1' DOCKER_IMAGE_NAME: 'sieun96/travel-planner:latest' jobs: build: runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v3 - name: Set up JDK uses: actions/setup-java@v3 with: java-version: ${{ env.JAVA_VERSION }} distribution: 'temurin' cache: gradle - name: Build with Gradle uses: gradle/gradle-build-action@v2 with: arguments: build -x test # 테스트는 제외합니다. gradle-version: ${{ env.GRADLE_VERSION }} - name: Log in to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PWD }} - name: List JAR files # 제대로 빌드가 되어 jar 파일이 생겼는지 확인합니다. run: ls -lah build/libs/ - name: Set up Docker Buildx # 멀티 플랫폼 이미지를 만들기 위해 buildx 를 사용합니다. uses: docker/setup-buildx-action@v1 - name: Push image uses: docker/build-push-action@v2 with: push: true tags: ${{ env.DOCKER_IMAGE_NAME }} file: ./Dockerfile context: . build-args: | JAR_FILE=build/libs/travel-0.0.1-SNAPSHOT.jar platforms: | # 플랫폼을 지정합니다. linux/amd64 linux/arm64 windows/amd64
YAML
복사