保姆式教程,直接上干货!
一、docker 安装jenkins
1.可以先搜索一下 jenkins的信息: docker search jenkins 选择自己需要的版本
2.拉取jenkins镜像: docker pull jenkins/jenkins
3.启动jenkins镜像然后就可以访问了: docker run --name=jenkins --user root -d -p 8088:8080 -v /usr/local/java:/usr/local/java -v /usr/local/maven:/usr/local/maven -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins
解释一下:
-d 后台运行容器
-p 端口映射
--user root 指定运行容器角色 否则可能会导致没有权限从而构建失败
-v是将你本地的文件夹挂载到容器指定的文件夹
这些环境的文件夹各位注意需要自己电脑上的文件夹
访问地址是:你的服务器IP地址:端口号 ,这个端口号是刚刚docker run 命令映射的端口号8088
到这个页面稍微等等.....................
4.先查看jenkins镜像的容器id:docker ps -a 查看全部在运行的镜像
使用命令进入jenkins容器中:docker exec -it 容器id /bin/bash //-it i是交互式操作 t是终端
使用命令: cat /var/jenkins_home/secrets/initialAdminPassword 拿到密码到jenkins页面登录
在这边正好可以看看刚刚挂载的文件夹是否存在:
然后点击安装推荐插件慢慢等待下载
等待的时间还是可以听一首半岛铁盒~~~~~~~
安装完成创建完管理员账户后出现,点击保存并完成,开始使用jenkins
对jenkis进行全局配置
配置好全局之后,新建一个项目
在使用Git作未源码管理时,必须保证源码中项目根目录文件下有编写好的Dockerfile文件
文件内容如下:
点击添加后输入git的用户名和密码作为连接仓库的钥匙
没有红色提示就成功连接仓库了
指定源码的分支
其余不用管,直接来到构建
执行shell,输入shell脚本
shell脚本内容:
#!/bin/bash
#maven打包
/usr/local/maven/bin/mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./
service_name="jenkins-server"
service_prot=8021
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
echo "exist $SERVER_NAME image,IID=$IID"
#删除镜像
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
echo "no exist $SERVER_NAME image,build docker"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#删除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f $service_name
保存回到主页面!
出现刚刚新建的项目!点击立即构建
控制台输出结果!构建成功!
x现在可以试着访问一下!
至此,jenkins+docker部署后端项目成功!
后面会出jenkins+docker部署前后端项目!