<전체적인 배포 순서>
Github에 push 한다.
circleci에 미리 github와 연동되어진 프로젝트로 build가 작동한다.
2번에서 build와 동시에 docker hub push
MarketPlace 에서 Circle CI 검색
# Java Gradle CircleCI 2.0 configuration file
version: 2
# 빌드 작업을 정의한 jobs 스크립트 형식으로 작성
jobs:
build:
docker:
- image: circleci/openjdk:8-jdk
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
working_directory: ~/repo
environment:
# Customize the JVM maximum heap limit
JVM_OPTS: -Xmx3200m
TERM: dumb
# Add steps to the job
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
- v1-dependencies-
- run: gradle dependencies
- save_cache:
paths:
- ~/.gradle
key: v1-dependencies-{{ checksum "build.gradle" }}
- run: gradle test
- run: gradle build
- store_artifacts:
path: build/libs
# docker build를 하기 위해 docker를 설치하고 jar 파일을 지정한 dockerhub로 로그인하고 push 한다
- setup_remote_docker:
version: 19.03.13
- run: docker build --build-arg JAR_FILE=build/libs/docker-0.0.1-SNAPSHOT.jar --tag tjsrua02/docker-practice .
- run: docker login -u tjsrua02 -p dnflwlq123
- run: docker push tjsrua02/docker-practice
- run: sudo apt-get update