工作笔记 · 2023年11月1日 0

windows下jenkins并且运行jar,web

1.  jenkins

  1. jenkins可以安装成一个windows的service
  2. 前提是要有jdk17 版本,可以先考虑与maven配合的jdk版本比较好,如果是 jdk20以上的有些版本的jenkins不支持,可以通过启动的错误日志能看到提示

2.  maven

  • 提前与开发人员明确开发环境的jdk版本–不同的版本总会出现幺蛾子
  • 如果之前已经安装了jdk–用于 jenkins,可以在jenkins里面配置java-home的环境单独指向新装的jdk目录

3.  nodejs

  • 今天是2023-11-1日,昨天安装的版本是nodejs20版本,与开发环境的版本是14版本不一致,本来以为没什么,但是npm install的时候,需要很多自己的依赖,其实在安装完成20版本的时候,安装提示会自动弹出一个 addional tools 的提示,正常按照提示安装就好,可是昨天当时卡住了,就关闭了
  • addional tools 估计会安装很多 依赖,比如 python,vs2005 ,等等,由于我中间根据 提示自行单独安装了 python3,所以再次执行 addional 的安装就会有冲突,总之很麻烦,,最后不得不放弃仍然采用 nodejs的14版本

4.  jdk

  • jenkins需要jdk
  • maven需要jdk
  • 如果是一个服务器,又要打包又要运行,有个小技巧,先装开发需要的jdk,然后再装jenkns需要的jdk,现在jenkins的高版本都是需要jdk11,17 ,但是不能超过20
  • 或许还有个办法,就是 因为 jenkins是指定jdk目录依赖的,所以可以把path改成开发需要的jdk路径

5.  python

  • nodejs需要,如果是nodejs14版本,我做了两件事情不知道那件事情导致了nodejs14的正确结果
  • 第一件是系统安装 python3的 安装包正常安装
  • 第二件是在jenkins安装python1.3–只有这个–插件

6.  git

  • 安装一个版本,应该没什么版本限制
  • 确定安装后,cmd –shell命令能任意地方执行 git命令
  • jenkins需要安装git插件-配置路径

7.  jar

  • 要用开发环境指定的jdk版本
    • windows版本的jar启动 有几个问题,启动后指定日志,启动命令的参数,启动在后端启动
    • java -jar 文件名.jar –后面跟着参数,,这个地方与linux环境不一样
    • java  -jar min-3.4.1-RELEASE.jar  -Xmx2000m -Xms2000m -Xmn2g -Xss256k –spring.profiles.active=pro
    • 日志 是被写在了代码里面,需要与开发任意确认
    • 后端运行 javaw  -jar min-3.4.1-RELEASE.jar  -Xmx2000m -Xms2000m -Xmn2g -Xss256k –spring.profiles.active=projenkins里面配置windows command的时候,比如 npm run build & call copy-file.bat ,用连接符& 链接多个命令
    • 在bat里面写多个javaw 启动jar ,可以用 start “” javaw -jar min-3.4.1.jar 一行行写 启动命令,如果不写start,则会卡住

8.  nginx

  • windows环境要特别注意服务器重启后 nginx是否启动
    • 下载的zip文件,配置 windows的path
    • 启动windows的shell要选择管理员权限启动
    • 启动 nginx 正常会命令行执行完成就没有任何提示,如果有问题,比如有个nginx窗口不被关闭,就说明启动有问题
    • 监听netstat -ano  看看 80端口是否启动
    • 配置文件增加 include 遇到一个小问题
      • inlclude  vhost\*.conf
      • 上面意思是e:\nginx\conf 新增的目录是vhost—-e:\nginx\conf\vhost,希望nginx加载vhost目录下的所有 后缀是 conf的文件
      • 用nginx -t / nginx -s reload / nginx -T 查看配置是否加载成功

9.  redis 引发的—wsl-ubuntu 

  1. 重启服务器后,redis原则上也要关注下是否启动 
  2. –按照官方的安装文档–比如希望装redis–可以 被导引到官网说明
  3. 这次安装的是 windows server 2019,因此是手动安装wsl,启动后,创建用户名密码正常操作,但是这个用户名权限很小,安装redis后就不能查看redis的conf文件,因此需要如下操作
    1. WSL—Ubuntu默认下没有root用户,还需自行设置启用
    2. 启用root需要设置密码:sudo passwd root
    3. 添加用户至root组:  usermod -aG sudo username
    4. 查看当前是否是root组:sudo whoami 若显示为root则成功
    5. 切换root用户:su
    6. 退出root:exit

d. redis官方指引会告诉如何安装,例子是ubuntu的,所以简单点 wsl–选择ubuntu

10.  windows的bat脚本

  1. jar采用的是 javaw 启动,所以要更新版本要事先kill进程,但是会出现kill时间过长几秒,可是 bat脚本等不及的情况,所以bat就退出了,我估计加个 返回变量就可以
  2. 但是采用的是另外一个办法 ,等待10秒,,如果在 windows执行,直接可以用 timeout 命令,但是 jenkins的 windows不支持,,改成了  ping 127.0.0.1 -n 11 >nul
  3.  start “” javaw -jar min-3.4.1.jar 一行行写 启动命令,如果不写start,则会卡住
  4. 在jenkins的 excute windows command 增加 set BUILD_ID=dontKillMe  # 在运行jar包前 ,否则 进程会在jenkins脚本执行后 kill