
Elex'Blog
文章
标签
10

阅

docker 安装Jenkins自动部署SpringBoot项目及所遇到的问题集合
docker安装Jenkins场景:
安装了以下服务- jdk1.8(非docker容器安装)
- maven3.6.3 (非docker容器安装)
- docker
- nginx(docker容器部署)
- mysql(docker容器部署)
- redis(docker容器部署)
开始安装Jenkins:
- 启动docker,通过docker下载Jenkins镜像文件
docker pull jenkins/jenkins:latest

- 创建Jenkins挂载目录并授权权限(我们在服务器上先创建一个jenkins工作目录 /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。 如果我们不这样做,那么如果需要修改容器配置文件,将会有点麻烦,因为虽然我们可以使用docker exec -it --user root 容器id /bin/bash 命令进入容器目录,但是连简单的 vi命令都不能使用)
mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount
- 创建并启动Jenkins容器
-d 后台运行镜像
-p 8081:8081 将镜像的8081端口映射到服务器的8081端口(后面服务部署用到的端口。docker容器部署,需要把部署项目的端口映射出来)
-p 10240:8080 将镜像的8080端口映射到服务器的10240端口
-p 10241:50000 将镜像的50000端口映射到服务器的10241端口
-v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录
-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置
-v /usr/java/default:/opt/java/openjdk 让容器可以使用服务器的jdk
-v /usr/local/apache-maven-3.6.3:/usr/local/maven 让容器可以使用服务器的Maven
-v /home/shiyue-ticket/logs/:/home/shiyue-ticket/logs/ 将项目的日志目录挂载道到本地硬盘
-v root 给容器root的权限
--name jenkins 给容器起一个别名
docker run -d -p 8081:8081 -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /usr/java/default:/opt/java/openjdk -v /usr/local/apache-maven-3.6.3:/usr/local/maven -v /home/shiyue-ticket/logs/:/home/shiyue-ticket/logs/ --name jenkins -u root jenkins/jenkins

- 查看jenkins是否启动成功,如下图出现端口号,就为启动成功了
docker ps -l

- 查看docker容器日志
docker logs jenkins

- 配置镜像加速,进入
/var/jenkins_mount/
目录
cd /var/jenkins_mount/
**修改hudson.model.UpdateCenter.xml
里的内容
修改前**
将 url 修改为 清华大学官方镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
修改后
-
访问Jenkins页面,输入你的ip加上10240
入门
-
管理员密码获取方法,查看
initialAdminPassword
文件,把密码输入登录中的密码即可,开始使用。
cat /var/jenkins_mount/secrets/initialAdminPassword

- 到此就全部安装完成了
安装Git,GitLab插件:
后期更新
问题:
后期更新