오픈소스컨설팅의 마스코트, 열린이입니다! :)
Bamboo task중 Docker task를 이용하여 Docker build 부터 Docker push를 통한 Docker Hub에 등록하는 과정까지를 알아보도록 하겠습니다.
Spring boot application을 sample로 하여 war로 package된 application을 대상으로 진행합니다.
하여 아래와 같은 상황을 가정합니다.
Sample은 다음 repository에서 확인해볼수 있습니다.
사전준비사항에서 언급된 docker image 준비가 완료되면 Dockerfile을 해당 repository에 함께 push한후 Docker task 추가를 진행합니다.
아래와 같이 docker plugin를 task에서 검색하여 task로 추가합니다.
추가후 아래와 같은 설정화면이 나타나며 아래와 같은 설정을 추가합니다.
위와 같이 4가지 방식의 task를 설정하면 docker image build 및 push가 가능합니다.
앞서 첨부했던 링크에 있는 Dockerfile 을 참고용으로 첨부합니다.
# 간단히 설명하자면 tomcat 이미지를 pull 받아와 tomcat내의 webapps directory에 ROOT.war파일로 복사하게 하여 해당 application이 # tomcat을 통해 loading되어지게 하는 것이다. # 당시 사용되는 demo-0.1.1.war파일의 경우 앞선 build plan에 의해 build 후 생성된 war 파일이다. FROM tomcat:8.5.47-jdk8-openjdk MAINTAINER jacobbaek@osci.kr RUN rm -Rf /usr/local/tomcat/webapps/ROOT COPY target/demo-1.0.0.war /usr/local/tomcat/webapps/ROOT.war
실제로 인지해야 하는 내용은 Docker task를 사용하는 부분입니다.
먼저 Docker image build를 수행하는 과정입니다.
이후 Dockerhub에 image를 push 하는 작업을 아래와 같이 수행합니다.
이제 모든 준비작업은 완료되었습니다. build를 수행해보도록 합니다.
build plan 수행후 success가 되게 되면
아래와 같이 samplejavaweb이 dockerhub에 등록됨을 확인할 수 있습니다.