Jenkins自动化部署
本文最后更新于:2022年3月26日 下午
Jenkins配置自动化部署
本文章系统环境为ubuntu(Debian通用)
前置依赖
安装jenkins
看这篇文章
重启jenkins:
systemctl restart jenkins
jenkins部署环境配置
点击Manage Jenkins
点击Global Tool Configuration
配置jdk和jdk的路径
配置git和git的路径
配置maven和maven的路径
配置一个项目,开始持续集成
点击新建Item, 点击创建一个FreeStyle的项目
写项目描述
填写git地址, 添加用户认证
创建构建脚本(excute shell)
#!/bin/bash # maven打包 cd ./blog-api mvn clean package echo 'package ok!' echo 'build start!' service_name="blog_api" service_port=8888 # 查看镜像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_port:$service_port $service_name # 查看启动日志 docker logs -f $service_name
这个脚本可能需要稍加更改
添加触发器
当然,我们用jenkins自动部署怎么少得了触发器呢?
之后,我们只需要在本地提交代码,就能自动部署到服务器上
杂项
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!