部署Jenkins遇到的一些坑
前沿,我也是第一次部署在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所有的插件下载地址,现在只要替换下载路径就行


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.前言