Jenkins自动化部署项目(SpringBoot到Docker)

安装JDK

  • yum install -y java

安装jenkins

安装后工作目录在 /var/lib/jenkins/

添加Jenkins库到yum库,Jenkins将从这里下载安装。

  • wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

  • rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

  • yum install -y jenkins

    • 如果最后一步不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)
      • wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
      • rpm -ivh jenkins-2.7.3-1.1.noarch.rpm

配置jenkis的端口(启动的时候将从/etc/sysconfig/jenkins获取配置参数)

  • vi /etc/sysconfig/jenkins

    找到修改端口号:JENKINS_PORT=“8080” (此端口不冲突可以不修改)

修改jenkins下载插件的地址

  • sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json

启动jenkins

  • service jenkins start/stop/restart
    将作为一个守护进程随系统启动, 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者

打开jenkins

  • 在浏览器中访问:安装Jenkins的ip:JENKINS_PORT
  • 初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
  • 安装推荐插件
  • 新建一个用户

安装maven插件

  • 前往 Manage Jenkins -> Manage Plugins -> Available
  • 右侧 Filter 输入: Maven Integration
  • 下方可选列表中勾选 Maven Integration(如列表中不存在 Maven Integration,则点击 Check now 更新插件列表)
  • 点击 Download now and install after restart

配置Maven仓库地址

Manage Jenkins -> Configure System
-Dmaven.repo.local=/var/lib/jenkins/workspace/jars(然后创建好jars目录)
在这里插入图片描述

配置JDK、Git、Maven地址

Manage Jenkins -> Global Tool Configuration
在这里插入图片描述

扫描二维码关注公众号,回复: 9305323 查看本文章

在这里插入图片描述

在这里插入图片描述

  • 注意:Git是要配置到:GIT_HOME/bin/git
  • 安装 git 和 maven 参考:https://blog.csdn.net/weixin_43934607/article/details/100538881

添加项目

新建项目
在这里插入图片描述
设置git路径
在这里插入图片描述
设置build时的命令
clean install -Dmaven.test.skip=true
在这里插入图片描述
尝试build项目
在这里插入图片描述

  • 特别注意:如果有使用swagger生成api文档 那么构建会失败 要在pom文件中删除相关内容

设置构建成功后部署

在这里插入图片描述

  • 注意:Jenkins没有操作docker的权限,所以必须先chmod 777 /var/run/docker.sock
#!/bin/bash
echo "开始运行"
echo "停止app"
docker stop app
echo "删除容器app"
docker rm app
echo "删除镜像yzx/accout-mange:latest"
docker rmi -f yzx/accout-mange:latest

#要把jar包制作成镜像就必须使用docker build命令 同时必须有对应的Dockerfile(指定jar包位置是在Dockerfile指定)
# . 表示当前目录 -f 参数指定Dockerfile文件  -t 表示 制作的镜像tag 
cd /var/lib/jenkins/workspace/accout-mange
docker build -f Dockerfile  -t  yzx/accout-mange:latest  .

echo "新容器id:"
docker create --name app \
-p 9999:8080 \
-v /tmp/accout:/tmp/accout \
yzx/accout-mange:latest

echo "启动容器名:"
docker start app

echo "执行完毕,浏览器打开IP:9999浏览"
#构建镜像的Dockerfile
# From java image, version : 8
FROM java:8

# 挂载app目录
#VOLUME /app

##将maven构建好的jar添加到镜像中
ADD target/accout-mange-1.0-SNAPSHOT.jar accout-mange-1.0.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "accout-mange-1.0.jar"]

设置构建前触发(Gitee)

插件安装

  • 前往 Manage Jenkins -> Manage Plugins -> Available
  • 右侧 Filter 输入: Gitee
  • 点击 Download now and install after restart

插件配置

  • 添加码云链接配置
    前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
  • 在 Connection name 中输入 Gitee 或者你想要的名字
  • Gitee host URL 中输入码云完整 URL地址: https://gitee.com (码云私有化客户输入部署的域名)
  • Credentials 中如还未配置码云 APIV5 私人令牌,点击 Add - > Jenkins
    • Domain 选择 Global credentials
    • Kind 选择 Gitee API Token
    • Scope 选择你需要的范围
    • Gitee API Token 输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens
    • ID, Descripiton 中输入你想要的 ID 和描述即可。
  • Credentials 选择配置好的 Gitee APIV5 Token
  • 点击 Test Connection 测试链接是否成功。

触发器配置
在这里插入图片描述
在这里插入图片描述

  • WebHook密码点击生成即可

Gitee配置
在这里插入图片描述

发布了109 篇原创文章 · 获赞 47 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43934607/article/details/104217800