https://docs.github.com/en/enterprise-cloud@latest/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-gradle도입 이유스프링부트로 협업하면서 PR을 사용하기로 했는데 develop 브랜치에 충돌만 안나면 머지되도록 되어 있었다.github action을 배우고, 테스트 워크플로를 작성할 수 있다는 것을 알게 되었고, 이 기능을 활용해서 다른 사람 코드가 컴파일 오류 없이 잘 돌아가는지 알아서 테스트 해주면 정말 편하겠다는 생각이 들어서 사용해보기로 했다.Build and test (Java & Gradle)공식 문서에 스프링부트로 애플리케이션을 만드는 프로젝트에서 ..
DevOps
https://docs.docker.com/build/building/multi-stage/ Multi-stageLearn about multi-stage builds and how you can use them to improve your builds and get smaller imagesdocs.docker.com 공식 문서를 번역하면서 공부한 것이라 오역이 있을 수 있습니다.Use multi-stage buildsMulti-stage build는 이미지 빌드와 최종 결과물 사이를 깔끔하게 분리하여 최종 이미지 사이즈를 줄어준다. Dockerfile 명령어를 여러 단계로 나누어 Dockerfile의 결과물이 애플리케이션을 실행하는 데 필요한 파일만 포함하도록 하자multi-stage는 빌드 단계를 ..
Build contextLearn how to use the build context to access files from your Dockerfiledocs.docker.com docker buildx builddocker build 위 두 명령어를 수행하면 Dockerfile과 context로부터 Docker 이미지가 만들어진다. Build Context가 뭔데?`docker build` 명령어를 실행했을 때 접근 가능한 파일의 집합이다. `build` 명령에서 특정 위치를 인자로 넘겨서 build에 사용할 context를 지정할 수 있다.아래 명령어 같은 경우 `.` 현재 디렉토리를 기준으로 context를 생성해서 사용하겠다는 뜻 -> 현재 작업 디렉토리를 build context라고 한다. D..
Dockerfile overviewLearn about Dockerfiles and how to use them with Docker Images to build and package your softwaredocs.docker.com Docker는 Dockerfile에서 명령어를 읽어 이미지를 빌드한다. Dockerfile은 소스코드를 빌드하기 위한 명령어가들어 있는 텍스트 파일이다. Dockerfile에 사용되는 명령어`FROM ` : 이미지의 기준이 되는 것을 정의`RUN ` : 현재 이미지 위의 새 레이어에서 모든 명령을 실행하고 결과를 커밋.`WORKDIR `: `RUN`, `CMD`, `ENTRYPOINT`, `COPY`, `ADD` 명령어에 대한 작업 디렉터리를 설정'`COPY `: ``..
CacheImprove your build speed with effective use of the build cachedocs.docker.com Docker Image 는 매 Instruction 마다 layer로 구성되며 이 중간 과정을 Cache해 놓는다. How the Build Cache works도커 빌드 캐시를 이해하면 더 빠른 이미지를 생성하는 도커 파일을 작성할 수 있다. 아래 예시는 C 언어로 작성된 작은 도커 파일이다.# syntax=docker/dockerfile:1FROM ubuntu:latestRUN apt-get update && apt-get install -y build-essentialsCOPY main.c Makefile /src/WORKDIR /src/RUN make..