首先安装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掉这句命令产生的进程了。
恭喜,终于成功!!!!