小编Ron*_* Al的帖子

如何使用jenkins重启PM2?

我正在使用 PM2 在 linux 服务器上运行我的 node.js 应用程序,并带有一个配置文件,如下所示:

PM2 start mywebsite.config.js
Run Code Online (Sandbox Code Playgroud)

一切都很好。但现在我想在图片中添加詹金斯。我正在 jenkins 中运行一个管道项目,使用 Jenkinsfile。一切正常,除了最后一个命令,应该重新启动应用程序,以使新版本生效:

stage('Restart PM2') {  
  steps {
    sh 'pm2 restart all'  }
  }
}
Run Code Online (Sandbox Code Playgroud)

并且此命令失败。这是日志输出:

+ pm2 restart all 
Use --update-env to update environment variables 
[PM2][WARN] No process found 
< empty pm2 log table here> 
Use `pm2 show <id|name>` to get more details about an app
Run Code Online (Sandbox Code Playgroud)

我知道 PM2 正在为每个用户工作。意味着,运行第一个命令 (start) 的用户也应该运行重启。但如何做到这一点?

node.js jenkins pm2

5
推荐指数
2
解决办法
4029
查看次数

Dockerfile 中的权限被拒绝

尝试构建我的 dockerfile,并收到权限被拒绝错误。该项目是一个 Nest.js 服务器。这是泊坞窗文件:

FROM node:12.13-alpine
WORKDIR /usr/src/app
COPY package.json .
RUN npm install   <<< this fails
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "start:prod"]
Run Code Online (Sandbox Code Playgroud)

错误(在 npm install 上)是:

internal/fs/utils.js:220
    throw err;
    ^

Error: EACCES: permission denied, open '/usr/local/lib/node_modules/npm/bin/npm-cli.js'
    at Object.openSync (fs.js:440:3)
    at Object.readFileSync (fs.js:342:35)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:994:22)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
    at internal/main/run_main_module.js:17:11 {
  errno: -13,
  syscall: 'open',
  code: 'EACCES',
  path: '/usr/local/lib/node_modules/npm/bin/npm-cli.js'
Run Code Online (Sandbox Code Playgroud)

任何想法?

docker dockerfile nestjs

5
推荐指数
1
解决办法
1万
查看次数

加载 Nestjs 应用程序时,最好的处理方式是什么?

当我的 Nest.js 应用程序加载时,我需要运行一些数据库操作。(主要围绕数据初始化)。所有这些任务都已经构建并在控制器中作为操作工作。如果我手动去 /api/controller/action - 他们工作。当服务器加载时,我需要一种方法来调用它们中的每一个。有什么建议吗?

nestjs

4
推荐指数
1
解决办法
1052
查看次数

标签 统计

nestjs ×2

docker ×1

dockerfile ×1

jenkins ×1

node.js ×1

pm2 ×1