docker整合jenkins实现自动部署

tech2025-07-14  5

docker整合jenkins

docker安装jenkins

# 下载镜像 docker pull jenkins/jenkins:lts # 启动镜像 docker run -p 8080:8080 -p 50000:5000 --name jenkins \ -u root \ -v /mydata/jenkins_home:/var/jenkins_home \ -d jenkins/jenkins:lts 出现下面问题 # 查找文件 find / -name 'hudson.model.UpdateCenter.xml' # 进行修改 vi hudson.model.UpdateCenter.xml # 将<url>https://updates.jenkins.io/update-center.json</url>替换 # 更改为国内的清华大学的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json # 或者更改为http://updates.jenkins.io/update-center.json,即去掉https中的s。 <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> </site> </sites> # 查看容器id,重启容器 docker ps # 找到容器id CONTAINER ID docker restart id # 查看密码 docker logs jenkins 访问ip:8080,根据日志的密码进入 第一次安装Jenkins时没有添加用户和密码 Jenkins在安装完成后自动跳转至网页会有引导设置添加用户名密码以及URL等 可能直接跳过了引导 不过密码是可以找到的 在Jenkins安装目录文件夹下找到secrets文件夹,点击进入 找到initialAdminPassword 右键选择Edit with Notepad++打开 里面的内容就是登录密码 复制 进入Jenkins登录界面 用户名admin 粘贴密码 登录 成功进入

项目部署到docker,jenkins构建

find / -name ‘docker.service’

在ExecStart=/usr/bin/dockerd添加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

systemctl daemon-reload //重启虚拟机;systemctl restart docker //重启docker

ps -ef | grep 2375

在项目的pom.xml添加docker插件

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.1.0</version> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <imageName>spring/${project.artifactId}:${project.version}</imageName> <!-- 配置docker地址 --> <dockerHost>http://192.168.33.10:2375</dockerHost> <baseImage>java:8</baseImage> <entryPoint>["java", "-jar","/${project.build.finalName}.jar"] </entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build> 打包部署到docker上jenkins安装git、maven、ssh插件系统管理->全局工具配置->maven->新增;系统管理->系统配置->SSH remote hosts 新建任务配置git,maven和脚本文件 #!/usr/bin/env bash app_name='spring-study' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker run -p 8088:8088 --name ${app_name} \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d spring/${app_name}:0.0.1-SNAPSHOT docker run -p 8088:8088 --name spring-study \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/spring-study/logs:/var/logs \ -d spring/spring-study:0.0.1-SNAPSHOT jenkins进行构建

通过natapp实现外网穿透

问题:github访问不了本机的webhook 解决:通过搭建ngrok或通过natapp注册隧道来实现外网访问

最新回复(0)