The spring boot project uses Jenkins to build a Docker image, push it to the harbor repository, start the container, and then pull the image to the local running container. DockerfileLocation: in the root directory, at the same level as src FROM java:8 # Author: MAINTAINER zhaoyc VOLUME /tmp #ARG JAR_FILE #Add the jar package to the container and rename it to app.jar ADD target/*.jar app.jar RUN bash -c 'touch /app.jar' ENV TZ=Asia/Shanghai #RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone EXPOSE 81 #CMD ["-jar", "/app.jar"] "nohup" "&" ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] pom.xmlTo specify the Maven version number as 1.4.2, other versions have not been tested, otherwise the main-class cannot be found <plugins> <!-- mavn jar package startup plug-in --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.4.2.RELEASE</version> </plugin> </plugins> Jenkins Configuration System settings configuration docker – need to install Docker plugin Create a new Maven project configuration parameter build Project git repository configuration mvn build buile configuration Build the Docker image and push it to the repository configuration Execute the script after pushing to the repository #!/bin/bash #IMAGE=${module_filename} #TAG=${Tag} IMAGE=$1 TAG=$2 PULL_IMAGE=192.168.1.100:81/project/${IMAGE}:${TAG} # Calculate subtraction and output with 0 in front of the decimal point, such as 0.3-0.1=0.2 CURRENT_IAMGE=`echo "$TAG - 0.1" | bc | awk '{printf "%.1f", $0}'` echo '================Start logging into Harbor warehouse================' docker login http://192.168.1.100:81 -u admin -p Harbor12345 if [ $? -eq 0 ]; then echo '================Login successful=================' else echo '================Login failed=================' return 1 fi echo '================Start pulling image================' docker pull ${PULL_IMAGE} echo '================End of pulling image================' # Update container operation echo '================Stop running the image================' docker stop ${IMAGE}_${CURRENT_IAMGE} echo "wait 10 seconds" sleep 10 echo '================Start starting mirror================' #if [ ${IMAGE} == "java-demo" ]; then # docker run -d --name ${IMAGE}_${TAG} -p 9001:9001 ${PULL_IMAGE} #elif [ ${IMAGE} == "spring-cloud-eureka-client-demo" ]; then # docker run -d --name ${IMAGE}_${TAG} -p 9012:9012 ${PULL_IMAGE} #fi docker run -d --name ${IMAGE}_${TAG} -p 9001:9001 ${PULL_IMAGE} if [ $? -eq 0 ]; then echo '================Mirroring started successfully================' else echo '================Mirror startup failed================' return 1 fi This is the end of this article about how Jenkins builds Docker images and pushes them to the Harbor repository. For more information about how Jenkins builds Docker images, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Prometheus monitors MySQL using grafana display
>>: HTML form application includes the use of check boxes and radio buttons
Table of contents Multiple conditional statements...
This article shares with you the specific code of...
Table of contents 1. Regular expression creation ...
Experimental environment: Physical machine Window...
1. Overall steps At the beginning, we introduced ...
This article uses examples to explain the princip...
Today, I will record how to install MySQL 8.0.18 ...
Table of contents Introduction to bootstrap and i...
1. Introduction The requirement is to obtain the ...
This article mainly introduces the simple impleme...
Table of contents 1. Three modes of binlog 1.Stat...
yum or rpm? The yum installation method is very c...
SRIOV introduction, VF pass-through configuration...
If you directly set the width attribute to the sty...
Table of contents 1. What is redux? 2. The princi...