记录在Windows上折腾Jenkins

137 阅读4分钟

前言
公司项目是springboot微服务架构,目前发布测试环境需要在项目里切换测试配置,执行maven打包命令,然后把n多个jar上传到测试服务器,在执行重启脚本。当开发厌倦了无休止的发版步骤后,有了搭Jenkins的想法,上报之后,回复是没有空闲的服务器,于是有了这份笔记。

Jenkins安装

这部分没啥说的,去Jenkins官网下载个Windows稳定版,然后点点点安装就是。需要注意的一点是,目前的稳定版需要jdk11或者jdk17支持,所以最好先装个jdk环境。

访问前准备

安装完成后,不要着急使用,Windows环境下Jenkins主目录默认在C:\ProgramData\Jenkins.jenkins。我个人对这个非常介意,修改主目录方式如下:

  1. 在环境变量里添加:JENKINS_HOME ,路径为你准备的路径;
  2. 安装目录下有个jenkins.xml,<env name="JENKINS_HOME" value="..."/>;value为上面配置的路径;
  3. Windows下汉化有点问题,想要比较好的汉化,需要在jenkins.xml中<arguments>...</arguments>,中添加配置-Duser.language=C.UTF-8

基本配置

接下来就是正式访问,老生常谈了,先解锁,然后安装插件,推荐的就行;然后基于项目,要安装 maven插件,node插件,ssh插件等,这个自己折腾吧。

全局工具配置

  1. Maven 配置

image.png 2. JDK,这里配置的是项目用的,我的是1.8

image.png 3. GIT,我用的默认的

image.png 4. maven,配置本地maven

image.png 5. nodeJs,这里是前端编译用的,查一下项目用的哪个版本,就用哪个版本

image.png

系统设置

  1. 主目录,修改了主目录,是否生效可以看这里

image.png 2. Maven项目配置,增加全局配置,配置本地maven仓库-Dmaven.repo.local=E:/repository

image.png 3. 全局属性,增加环境变量

image.png

image.png

image.png 4. SSH Servers,配置远程服务器,因为我要发到测试环境,所以要配一个

image.png

任务配置

springboot项目

新建一个任务,任务名自己写一个,选择maven项目,然后确定

image.png 然后进入配置页面,主要配置源码管理,选择Git,然后配置项目Git地址

image.png Credentials这里直接点添加,增加一个用户名、密码配置

image.png 自己维护下信息,ID不用写,会自己生成;描述可以写一下,标记是哪个Git 然后保存,勾选此配置,Repository URL下不在报红则证明配置生效; 然后分支指定要发布的分支;其他默认。

image.png 触发器我这里没什么需求,我是什么时候用什么时候点一下,有需求的可以自己研究下。

image.png 构建环境可以勾选此项,便于查找问题

image.png 然后是构建,这里我执行的是 clean install -P dev

image.png 构建后操作,我这里需要先备份服务器的文件,然后将本地打好的包推送到服务器,最后在执行重启脚本;这里就用到了之前配置的ssh server

image.png

image.png

image.png

执行复杂脚本失败时,有可能是环境问题,执行脚本命令前添加source /etc/profile
注意
为避免出问题不知道怎么找,可以配置完git,就构建一下,然后等配置build后再构建一下,这样出问题了比较方便排查。
以上为boot项目的基本配置。

前端构建

后端配好只解放了一半,前端也要自动化。
首先创建一个任务,风格选自由,然后进入配置页面,配置好git。
重点来了,

image.png 构建环境选择此项

image.png Build Steps选择Windows批处理,执行脚本npm install && npm run build:dev ,具体以自己项目为准哈。
构建后操作,思路同上,先备份,然后替换文件,不需要重启。。
以上

小计

搞这个东西实属无奈之举,自己没服务器,有服务器还要考虑VPN问题,正好自己电脑配置还行,搞一个解放自己。
在Windows上搞这个会有很多奇奇怪怪的问题,比如git那我就配了好多次,明明配置对,但Jenkins就是认为有问题,删了重新添加就好了。。。
重启生效的东西,我只重启服务不行,重启电脑才识别到,暂时不清楚哪里有问题。
开此贴记录一下。