Jenkins shell执行的时报错(commond not found) 或者后台进程被杀

摘要:https://blog.csdn.net/yuanxiao27/article/details/102939031

 

首先安装jenkins的时候,到创建nodejs(game_test)任务都很顺利,到了构建game_test的时候

发现问题:

1,在从subversion checkout 代码的时候,发现用自己的账号+密码居然不行,于是,就新创建了一个jenkins=jenkins并赋上权限,然后居然就成功了

解决:

passwd文件中加入:

[users]

jenkins=jenkins

authz文件中加入:

[trunk/server/]

jenkins

2,构建的时候在执行shell的时候用的是jenkins账户,所以,在使用tsc命令进行typeScript编译的时候,弹出:commond not found,查找资料后发现,是shell执行的时候没有拿到系统的环境变量导致的解决方法如下:

在shell的最开始加入:

#!/bin/bash -ilex

3,编译完typeScript后,需要把编译好的文件同步到另外一个目录下,然后发现用的是jenkins账号,没有权限操作其他文件夹

解决如下:

mkdir game_test

chown -R jenkins:jenkins game_test/

这个两句命令的意思是,创建了一个game_test目录用来,接收编译好后的js代码,然后,把此目录设置为jenkins拥有。

4,到了启动的时候,发现使用 nohup node /game_test/bin/index.js >nohup.log 2>&1 & 命令启动 虽然显示,是成功的,但是,ps -aux|grep node|grep -v "grep" 发现找不到启动的进程,查资料得知 jenkins 再构建任务退出的时候会把衍生的进程通通都kill掉。

解决方法如下:

在:nohup node /game_test/bin/index.js >nohup.log 2>&1 &前加入:

BUILD_ID=DONTKILLME

这样jenkins就不会kill掉这句命令产生的进程了。

 

恭喜,终于成功!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值