Index of /jenkins/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
首先去清华园镜像下载jenkins对应操作系统版本的软件,安装之后,登录jenkins,jenkins需要jre11以上版本的运行环境,如果使用的java8(不要使用java8版本的jenkins.war那个版本的插件下载不了,可能已经不支持了,老老实实安装一个java17吧),再安装一套java11以上环境即可,环境变量不必更改。
去插件管理下载,Git client,nodejs,等常用插件,推荐在初始化的时候选择新手安装默认推荐的那些,后续再添加,我目前用的jenklins是2.400,建议不要用最新版,我记得有个版本配置里面是页面死循环
我目前安装的有这些插件(部分是初始化自动安装的,一部分是后期补上的,大家根据使用需要自行安装插件)
自动发布部署配置实例,需要注意某些耗时操作(如maven的package)还有node 的build,之后的命令大概率不会执行,因此需要添加好几个构建步骤,不要在这些命令之后再写命令,写在这些命令之后的命令大概率不会被执行,添加构建步骤就行了。
我这个步骤就是一些基本的从git拉取代码,此时命令行执行目录是在jenkins的工作目录(拉去代码在本地保存所在的那个目录)的,需要进入比如你的git上代码是
就按照我的配置参考一下路径,进入各个文件夹打包出发布所需要的文件。
然后将这些文件保存到另外的一个文件夹比如我配置的有一个D:history里面的,创建一个和现在构建版本一样的文件夹保存这些打包好的文件,保存这些的目的是为了版本回退,比如发布之后有问题,可以回退到以前构建过的版本。
传给远程服务器需要其开启ssh服务,可以查文章开启,jenkins也要安装对应的插件去连接ssh来发送文件,在图片中构建配置最后会有一个Exec command,这就是整个传输文件之后要远程机执行的命令,可以是一个远程机里面的批处理文件。
这个是exec.bat的示例,我就是做一些解压移动拷贝之类的操作
tar -xzf C:\Users\Administrator\FromPC6\publish_vue.rar -C D:\linxiangru_ui
rd /s/q D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html\html
rd /s/q D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html\images
rd /s/q D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html\static
move /y D:\linxiangru_ui\ruoyi-vue-web\* D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html
move /y D:\linxiangru_ui\ruoyi-vue-web\html D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html
move /y D:\linxiangru_ui\ruoyi-vue-web\images D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html
move /y D:\linxiangru_ui\ruoyi-vue-web\static D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html
tar -xzf C:\Users\Administrator\FromPC6\publish_vue_test.rar -C D:\linxiangru_ui
rd /s/q D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html_test
move /y D:\linxiangru_ui\ruoyi-vue-web\html D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html_test
move /y D:\linxiangru_ui\ruoyi-vue-web\images D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html_test
move /y D:\linxiangru_ui\ruoyi-vue-web\static D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html_test
move /y D:\linxiangru_ui\ruoyi-vue-web\* D:\linxiangru_ui\nginx-1.25.2\nginx-1.25.2\html_test
rd /s/q D:\linxiangru_ui\ruoyi-vue-web
taskkill -f -t -im javaw.exe
schtasks /run /tn "jenkins_schedule"
命令最后的schtasks,是windows的一个任务,因为远程bash命令执行后台运行的java程序 javaw -jar总是失败(不知道是不是权限不够的问题),无奈找到网上的方法现在机器上创建一个任务,然后使用命令去执行任务,
如下图,任务的内容是去执行启动后端的脚本
触发器可以设置成一次一个过期的时间,因为我们要使用命令手动触发
操作时启动程序,启动的脚本写好后写在这个地方,之后我们就可以使用命令去调用这个任务来执行启动java后端的程序了
schedule.bat脚本的内容示例
copy /Y ruoyi-vue-service.jar D:\linxiangru_ui
start javaw.exe -jar D:\linxiangru_ui\ruoyi-vue-service.jar --spring.profiles.active=prod
start javaw.exe -jar D:\linxiangru_ui\ruoyi-vue-service.jar --spring.profiles.active=dev
梳理一下,也就是我们的jenkins打包发送到服务器之后,服务器就开始执行命令去发布,
执行命令包括exec.bat和 schedule.bat,后者是一个定时任务要在前者的脚本内容中调用。这样就能解决很多问题,别的方式会出现各种问题。
jenkins发布回退版本可以看下一个文章,文章来源:https://www.toymoban.com/news/detail-794810.html
记录一次使用Jenkins发布回退版本的方式-CSDN博客文章来源地址https://www.toymoban.com/news/detail-794810.html
到了这里,关于记录一次使用Jenkins上传服务器并发布的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!