测试项目所在地址jenkins-demo
https://gitee.com/xwb1056481167/jenkins-demo
1、jdk安装
https://blog.csdn.net/www1056481167/article/details/126028093
2、git安装
https://blog.csdn.net/www1056481167/article/details/126028234
3、maven安装
https://blog.csdn.net/www1056481167/article/details/126027146
4、nodeJs的安装
https://blog.csdn.net/www1056481167/article/details/125997256
5、tomcat的搭建
https://blog.csdn.net/www1056481167/article/details/115396974"
6、jenkins的安装
方式一:(推荐)
war包部署在tomcat中方式:https://blog.csdn.net/www1056481167/article/details/126034277
方式二:
docker中安装jenkins:https://blog.csdn.net/www1056481167/article/details/125580290


注意
1、jenkins部署的项目情况截图

2、该项目的测试分支是dockerfile分支
3、项目位置(项目开源、可拉取测试):https://gitee.com/xwb1056481167/jenkins-demo
FROM java:8
MAINTAINER xwb
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/locatime
#暴露的端口
EXPOSE 8881
#用来指定当前工作目录(或者称为当前目录) 当使用相对目录的情况下,采用上一个WORKDIR指定的目录作为基准
#相当与cd 命令,但不同的是指定了WORKDIR后,容器启动时执行的命令会在该目录下执行
WORKDIR /usr/local/software/dockerImg/jenkins-demo
#RUN ls -a
# 将targer目录下的jar包复制到docker容器/目录下面
ADD target/jenkins-demo-1.1.0.jar /jenkins-demo.jar
CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/jenkins-demo.jar","&"]
#!/bin/bash
source ~/.bash_profile
source /etc/profile
containerName="jenkins-demo"
PROJECT_NAME="jenkins-demo-dockerfile"
echo "=====*****=====停止$containerName容器"
docker stop `docker ps -a| grep $containerName | awk '{print $1}' `
echo "=====*****=====删除$containerName容器"
docker rm `docker ps -a| grep $containerName | awk '{print $1}' `
echo "=====*****=====删除$containerName镜像"
docker image rm `docker images -q --filter reference=$containerName*:*`
echo "=====*****=====删除的镜像---start"
noneImages=""
noneImagesId=$(docker images | grep $noneImages | awk '{print $3}')
if [ -n "$noneImagesId" ]
then
echo "=====*****=====prepare to remove old image"
docker rmi $noneImagesId
echo "=====*****=====remove $noneImagesId success"
else
echo "=====*****=====no such image"
fi
echo "=====*****=====删除的镜像---end"
echo "=====*****=====进入jenkins的默认项目工作目录"
cd /root/.jenkins/workspace/$PROJECT_NAME
echo "=====*****=====新建dockerImg文件"
mkdir -vp /usr/local/software/dockerImg/$containerName
echo "=====*****=====复制jenkins的项目到dockerImg目录下"
cd /usr/local/software/dockerImg/$containerName
\cp -R /root/.jenkins/workspace/$PROJECT_NAME/* /usr/local/software/dockerImg/$containerName
echo "=====*****=====clean package"
mvn clean package
echo "=====*****=====构建镜像=====*****====="
docker build -f Dockerfile -t $containerName .
echo "=====*****=====docker启动容器"
docker run --name $containerName -d -p 8881:8881 --network=host $containerName
# 钩子触发程序
#http://192.168.1.12:8080/jenkins/job/jenkins-demo-dockerfile/build?token=JENKINS_DEMO_DOCKERFILE

firewall-cmd --zone=public --add-port=8881/tcp --permanent && firewall-cmd --reload
http://192.168.1.12:8881/dockerFile/index

