1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

部署Jenkins遇到的一些坑

1987web2023-10-06WEB开发160
前沿,我也是第一次部署在win上,之前是在linux上部署,一键式的yarn简直不要太爽,网速快的让我还没反应过来,它就安装好了。

前沿,我也是第一次部署在win上,之前是在linux上部署,一键式的yarn简直不要太爽,网速快的让我还没反应过来,它就安装好了。

本次部署环境,

Windows Server 2016 操作系统

Java1.8

某天接到领导的通知,让我这个小前端去部署一下Jenkins,由于本人之前是干后端的,所以说对这块是比较熟悉(仅限于linux),我上服务器上一看,嗯....好家伙,java环境和Jenkins直接就安装好了,我还需要操作什么呢?

这台服务器我其实是接盘别人的,之前招了后端过来给安排的第一件事情就是部署jenkins,不知为何就突然不干就跑路了,我拿到这台服务器后问领导要账号密码,领导就跟我说了这个事情。你要不重装一下这个软件吧

于是我开始了重装,我在控制面板上把jenkins卸载后 在官网上下载了最新版本的mis包进行安装,安装后死活不弹出引导页面,解锁页面

(截图路径是从linux上截的)

也就是这个页面,重复操作几次后(卸载安装jenkins和java环境)依然没有解决这个问题,我觉得应该是环境污染了,我在本地虚拟机上安装同样的操作系统和java环境jenkins,第一次就能进入引导页,当我卸载在安装jenkins也会出现同上的问题,这个时候应该就是软件卸载遗留文件造成的

C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins

每次的安装jenkins都会把上一次的配置文件会保留起来并使用它。

解决方案就是删除改路径的jenkins文件夹即可。

问题二

在安装的时候变成了离线

可以选择跳过安装基础插件,进入GUI界面后在安装插件,
建议使用离线插件,离线安装完成后。
访问 http://localhost:8080/pluginManager/advanced
复制:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
去升级站点,点击提交(Submit)后,一定要点击下面的 立即获取(checknow) 按钮

这个时候jenkins会在

C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\updates
生成文件
主要是default.json文件,改文件包含jenkins所有的插件下载地址,现在只要替换下载路径就行
connectionCheckUrl jenkins 用来认证你机器是否联网,当然国内你懂的
上传到本地web服务器上的Defauit.json 文件
google 改成 baidu
https://updates.jenkins.io/download/plugins/
改成
http://mirrors.tuna.tsinghua.edu.cn/jenkins/
未改前
修改后

至于为什么我的文件会在127.0.0.1上面呢?

请原谅我的自作聪明,我是这么想的我本来以为它是远程获取default.json的,我想如果我把修改后的文件放在自己的web服务器上不就能解决离线的问题了么?可惜,我替换链接的时候,jenkins会有一个效验url的功能,不让你替换,就算你去修改文件,(hudson.model.UpdateCenter.xml)check Now 的时候也会提示。

以上是题外话

替换文件后如果在check now 的话
url(https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json)

jenkins会自动拉一份新的文件替换的,又会被覆盖掉,所以还是需要你手动替换里面的文件。

问题三

如果执行shell遇到 cnpm 或 yarn 不可用 一定要在服务上加上最高权限

问题四 这个问题其实和Jenkins没有多大关系,但是Jenkins用Node去构造项目那又和它有关系,相信你们能明白我的意思

前端项目在拉取依赖的时候,如果有使用node sass的话,

需要对应版本好。

如果拉取成功,编译的时候出现问题需要安装Python 2.7

npm install --global --production windows-build-tools
或
cnpm install --global --production windows-build-tools

其实对应上版本后 装不装 Py都一样

参考:

Node Sass:需要梯子

Windows Shell

npm config set registry https://registry.npm.taobao.org
npm config set registry https://registry.npmmirror.com
call npm install -g yarn -registry=https://registry.npm.taobao.org
call yarn -v //一些镜像
-----------------------------------------------------------------------------------------
call echo 1
call npm config get registry
call echo 2
call npm install
call echo 3
call npm run build
call echo 4
call echo 停止站点 准备复制文件
call C:\Windows\System32\inetsrv\appcmd.exe stop site web
call echo 复制文件
call xcopy /e /y dist C:\webDome /S
call echo 启动站点
call C:\Windows\System32\inetsrv\appcmd.exe start site web
-------------------------------------------------------------------------------------------

 【 xcopy /e /y dist C:\webDome /S 】/y 强制覆盖文件 /S 文件下有空目录也复制
webIIs站点名称
停止启动iis服务
iisreset /START 启动IIS (如果停止)
iisreset /STOP 停止IIS (如果启动)

使用iis部署web站点可以直接copy以上命令
-----------------------------------------------------------------------------------------
Net Core
echo ============还原NuGet包================
call dotnet restore
echo ============build================
call dotnet build
echo ============publish================
call dotnet publish -c Release -r win-x64 -o ./publish/psma --self-contained true

Jenkins Git 拉取项目

error: RPC failed; curl 18 transfer closed with outstanding read data remaining

fatal: the remote end hung up unexpectedly

fatal: early EOF

fatal: index-pack failed

解决方法:

修改postBuffer的默认值

git config --global http.postBuffer 524288000

确认修改

git config --list

Jenkins 配置 GitLab

Jenkins 监听 GitLab (实际上是GitLab推送过去的)

在系统配置项中有一个:节点管理

我们可以通过这个节点管理进行:添加,删除,控制和监视系统运行任务的节点。

默认情况下只有一个master主节点

我们可以通过左侧的菜单面板实现节点添加和监控配置:

5.1 新建节点

当我们通过节点管理,进入节点列表界面时,可以使用左侧的新建节点菜单进行创建新的节点。

创建节点名称后,就可以点击 create创建按钮了。然后会出现配置界面。

描述和名称比较简单就省略了。

Jenkins中的系统,主节点,节点,执行器等概念解释

1.前言