GiitHub Actions를 사용하여 Spring Boot 응용 프로그램을 Docker Build로 Push
./gradlew build
에서 구축한 결과docker/build-push-action
에서 잘 사용되지 않기 때문에 촌스럽게 써 보았다.v*.*.*
이런 라벨이 푸시되면 이동하고latest
와 *.*.*
의 태그가 Docker Hub로 푸시된다.캐시 주위는 잠시 생략합니다.
docker/metadata-action
랑도 같이 조합해서 쓰고 싶은데...더 똑똑한 방법이 있다면 기쁠 텐데.
.github/workflows/docker-image.yml
name: Docker Image CI
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Docker Login
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Gradle Build
run: ./gradlew build
- name: Prepare build tag
id: tag
run: |
VERSION=`echo ${GITHUB_REF#refs/tags/} | grep -o '[0-9]*\..*'`
IMAGE=${{ secrets.DOCKER_HUB_USERNAME }}/リポジトリ名
TAGS=`echo ${IMAGE}:latest --tag ${IMAGE}:${VERSION}`
echo ::set-output name=TAGS::${TAGS}
- name: Build and push
run: >-
docker buildx build
--build-arg JAR_FILE=build/libs/\*.jar
--file ./Dockerfile
--platform linux/amd64,linux/arm64
--tag ${{ steps.tag.outputs.TAGS }}
--push .
DockerfileFROM openjdk:11-jre-slim
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Reference
이 문제에 관하여(GiitHub Actions를 사용하여 Spring Boot 응용 프로그램을 Docker Build로 Push), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kxn4t/articles/spring-boot-docker-build-with-github-actions텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)