젠킨스 CI/CD 구성하기 전
쿠버네티스에서 도커 배포 시
Build, Tag, Rmi, Dockerfile 변수 처리
deploy.sh
#!/bin/bash
input=$1
sh ./jar/$input.sh
echo "Sleep 1"
sleep 1
echo "5. Kubectl Delete"
kubectl delete -f ./kube/$input.yaml
echo "6. Kubectl Deploy"
kubectl apply -f ./kube/$input.yaml
$input.sh
docker_registry=my.registry.com:8443/library/
list=input
echo "1. Docker rmi"
for var in $list
do
echo " Remove = " $var
docker rmi -f $var:latest
docker rmi -f $docker_registry$var:latest
done
echo "2. Docker Build"
for var in $list
do
echo " build = " $var
docker build -t $var --build-arg imgName=$var .
done
echo "3. Docker Tag"
for var in $list
do
echo " Tag = " $var
docker tag $var $docker_registry$var
done
echo "4. Docker Push"
for var in $list
do
echo " Tag = " $var
docker push $docker_registry$var
done
Dockerfile
FROM openjdk:11
ARG imgName=init
COPY ./jar/$imgName.jar ./excute.jar
ENTRYPOINT ["java", "-Dspring.profiles.active=dev", "-jar", "./excute.jar"]
EXPOSE 8088
excute.jar 라고 설정한거는, ENTRYPOINT 마지막에 ""안에 $변수가 먹지를 않는다.