赞
踩
目录
这里就不讲解Jenkins从0到1的过程了(表示也没实战经验╮(╯▽╰)╭),因为我也是直接使用的公司已搭建好的Jenkins。
Jenkins是Web端的,这里踩的坑还比较少。
继续部署上篇的springboot项目
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,可用于自动化构建、测试和部署软件项目。它支持各种操作系统和编程语言,并且可以集成到各种不同的开发工具中。
Jenkins 的主要功能包括:
自动化构建和测试:Jenkins 可以监控源代码仓库,当有新的代码提交时,自动触发构建和测试过程,以确保代码质量和稳定性。
持续集成和交付:Jenkins 可以自动构建、测试和部署应用程序,以实现持续集成和交付的流程。
插件扩展:Jenkins 有大量的插件可供选择,您可以根据需要安装不同的插件,以实现特定的功能。
多平台支持:Jenkins 可以运行在各种不同的操作系统上,并且支持各种编程语言和工具。
Jenkins 的优点:
易于安装和配置:Jenkins 的安装和配置非常简单,即使您没有任何经验,也可以快速上手。
开源免费:Jenkins 是一个开源项目,您可以免费使用它来构建和部署您的应用程序。
定制化:Jenkins 提供了大量的插件和可配置选项,您可以根据需要进行定制化。
易于使用:Jenkins 的界面友好,易于使用,即使是初学者也可以轻松上手。
新建任务的时候我是直接选择了第一个。如果有已存在的服务可以直接复制进行修改。
大体逻辑:将项目打jar包 -> 把jar包传输到目标服务器 -> 在服务器上部署项目(使用docker方式,先做镜像后部署)
shell脚本经过尝试多次如下:
- #打jar包
- cd $WORKSPACE
- #不知道$WORKSPACE是什么地址可以打印出来
- echo $WORKSPACE;
- #配置gradle权限
- chmod +x ./gradlew
- #将springboot打成jar包
- ./gradlew clean build bootJar
-
- #Server_List是要部署到哪台服务器上
- Server_List="127.0.0.1"
- #打包压缩代码
- #springboot+gradle项目打包会放到libs目录下
- cd $WORKSPACE/build/libs
- #这里进行重命名,如果不需要的话可以不要这句
- mv spring-boot-0.0.1.jar spring-boot.jar
- echo "---------- start tar";
- #将jar包打成tar.gz格式的压缩包,并且放到当前路径下
- tar zcf /opt/spring-boot.tar.gz .
- echo "---------- end tar";
- echo "---------- start scp";
- #把压缩包传到目标服务器上
- scp -r -P 8080 /opt/spring-boot.tar.gz $Server_List:/opt
- echo "---------- end scp";
- rm -rf /opt/spring-boot.tar.gz;
-
- ssh -p 8080 $Server_List "
- cd /opt ;
- if [ ! -d '/web/cms/spring-boot-new' ];then
- mkdir /web/cms/spring-boot-new;
- fi
- echo "---------- start untar";
- #解压缩到/web/cms/spring-boot-new路径下
- tar xf spring-boot.tar.gz -C /web/cms/spring-boot-new;
- echo "---------- end untar";
- echo "---------- start rm";
- #这一波mv和rm就是修改名字,删除历史的过程
- mv /web/cms/spring-boot /web/cms/spring-boot-old;
- mv /web/cms/spring-boot-new /web/cms/spring-boot;
- rm -rf /web/cms/spring-boot-old;
- rm -rf /opt/spring-boot.tar.gz;
- echo "---------- end rm";
- echo "---------- docker";
- cd /web/cms
- #这里使用了docker-compose进行发布
- docker-compose down;
- docker-compose up -d;
- sleep 5;
这是一个使用jenkins持续集成springboot项目的整体案例:
相关内容详见:
使用jenkins持续集成springboot项目(四、nginx域名映射)
使用jenkins持续集成springboot项目(三、上服务器)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。