1. jenkins构建完成后,前端页面没有更新
开发在代码里面删除了一个电话号码,通过jenkins发版后,发现前端页面的号码依然存在。
去jenkins的工作目录下对了代码,发现是最新的代码。
查看jenkins配置,发现是用pm2启动的前端程序。
2. 查看pm2前端配置
[root@hdc-monitor clearway-website-ui]# /mnt/node-v8.9.1-linux-x64/bin/pm2 describe 0
Describing process with id 0 - name clearway-pc
┌───────────────────┬─────────────────────────────────────────────────────┐
│ status │ online │
│ name │ clearway-pc │
│ version │ N/A │
│ restarts │ 240 │
│ uptime │ 27m │
│ script path │ /usr/bin/npm │
│ script args │ start │
│ error log path │ /root/.pm2/logs/clearway-pc-error.log │
│ out log path │ /root/.pm2/logs/clearway-pc-out.log │
│ pid path │ /root/.pm2/pids/clearway-pc-0.pid │
│ interpreter │ node │
│ interpreter args │ N/A │
│ script id │ 0 │
│ exec cwd │ /app/jenkins_home/workspace/柯美利/clearway-website-ui │ # 通过这个发现,现在jenkins前端项目的路径,跟这个路径不同,所以浏览前端页面,发现配置没有生效(因为后面移动过jenkins上前端项目的位置,所以跟这里对不上)。
│ exec mode │ fork_mode │
│ node.js version │ 8.9.1 │
│ node env │ N/A │
│ watch & reload │ ? │
│ unstable restarts │ 0 │
│ created at │ 2021-06-29T07:23:13.757Z │
└───────────────────┴─────────────────────────────────────────────────────
3. 解决办法
pm2启动的前端程序都会生成一个端口,这个端口是前端写在配置文件中的。为了不影响现有页面访问,让开发重新配置一个端口,再重新构建。
构建完成后去到对应前端的目录下(jenkins上),重新创建一个前端程序
pm2 start npm --name "gcw_edi" -- run start # 注意这个run 后面的start,该参数要问前端拿,不一定都是start,也有可能是别的。
重新启动后,可以通过pm2 logs pid,查看程序是否正常启动,然后通过netstat -lntup查看端口。最后更改nginx代理地址的端口即可。