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
Preface Recently, I have been busy dealing with s...
This article shares the specific code of js to re...
I just started learning about databases recently....
Docker is a management tool that uses processes a...
How to determine whether a variable is empty in s...
I have been making websites for a long time, but I...
Download address: https://dev.mysql.com/downloads...
First, we will introduce how (1) MySQL 5.7 has a ...
Table of contents 1. Mapped Types 2. Mapping Modi...
1. Demand A picture moves from left to right in a...
How to center the entire page content and how to m...
When I was working on a project recently, I found...
The previous articles introduced how to debug loc...
<br />The information on web pages is mainly...
1. Download mysql-8.0.17-winx64 from the official...