1、环境准备
服务器:win server 2012
Jenkins版本:2.277.4
java版本:jdk-8u291-windows-x64
nodejs版本:node-v14.17.0-x64
maven版本:apache-maven-3.6.3-bin.tar.gz
2、部署java环境
2.1、下载
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2.2、安装
2.3、创建java路劲
E:\install\java
2.4、开始安装:双击刚才下载好的.exe文件
2.5、将jdk安装在自定义文件夹里
2.6、安装完成,关闭
2.7、配置java环境变量
2.8、右键计算机–>属性–>高级系统设置–>环境变量
2.9、测试是否安装成功
3、部署nodejs环境
3.1、选择对应系统下载
https://nodejs.org/en/download/
3.2、双击安装
3.3、测试是否安装成功
3.4、设置环境变量和java的环境变量设置步骤一样,同上
4、部署maven环境
4.1、下载
https://archive.apache.org/dist/maven/maven-3/
4.2、 解压,建议解压到全英文的路径下
4.3、解压后文件夹如下
4.4、配置aliyun的maven仓库
编辑conf/settings.xml
添加在在mirrors里面
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4.5、设置maven环境变量,和设置java环境变量步骤相同,同上。
4.6、测试maven是否安装成功
5、部署jenkins
5.1、下载
https://jenkins.io/download/
5.2、安装,双击下图标志文件,选择自定义路径,一直下一步即可
5.3、浏览器输入地址:localhost:8080
如果第一次在浏览器中打开项目卡在 Jenkins正在启动,请稍后… 阶段
那么 你需要修改下配置文件,因为你所在网络被限制了。
需要你进入jenkins的工作目录,打开hudson.model.UpdateCenter.xml
把http://updates.jenkins-ci.org/update-center.json 改成
http://mirror.xmission.com/jenkins/updates/update-center.json
还是不行的话 找到updates目录下的default.json 把里面所有的谷歌地址改成百度的
sed -i ‘s/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g’ default.json && sed -i ‘s/http://www.google.com/https://www.baidu.com/g’ default.json
注意
如果以上内容修改完之后,下载插件时还是报证书错误的话,那就要考虑一下你的java版本是否和Jenkins版本兼容
等待系统初始化,出现自定义Jenkins界面,可以选择安装推荐的插件,括者选择需要的插件来安装,也可以不选择安装,直接点击右上角的X号关闭界面,以后可以通过插件管理器安装插件,这里我们选择安装推荐的插件,进入插件安装中
此时Jenkins已经安装完成
5.4、配置Jenkins
5.4.1、jenkins汉化
安装local插件
manage jenkins——>manage plugins
manage jenkins——>configure system
5.4.2、Jenkins配置maven、nodejs、java环境
除了nodejs的插件需要安装,其余的插件都在Jenkins启动时前安装成功了,如果未安装,请选择对应的插件进行安装
6、win下发布后端项目CI/CD流程
新建文件
脚本内容
@echo off
setlocal enabledelayedexpansion
set port=PORT ##改成自己的端口
for /f "tokens=1-5" %%a in ('netstat -ano ^|find ":%port%"') do (
if "%%e%" == "" (
set pid=%%d
) else (
set pid=%%e
)
echo !pid!
)
if NOT "!pid!" == "" (
taskkill /f /pid !pid!
)