后台业务代码上传文件需要执行Jfrog命令,手动执行业务代码调用jfrog能够正常上传,但是后台服务通过守护进程启动后system函数返回256,为排查问题,代码中将jfrog返回信息写入日志中,如下:
std::string strupload = "jfrog rt u --explode "+xxx.zip+ " "+xxx+" >log.txt 2>&1";
查看日志如下:
[root@CI-Fsdmdept-72-156 bin]# cat log.txt
[Error] Couldn't find home directory. Make sure your HOME environment variable is set.
解决方法:
修改上传代码
std::string strupload = "HOME=/root /root/server/bin/jfrog rt u --explode "+xxx.zip+ " "+xxx +" >log.txt 2>&1";
重新测试,查看日志返回成功
[root@CI-Fsdmdept-72-156 bin]# cat log.txt
[Info] [Thread 2] Uploading artifact: /root/server/bin/tmp/public/2B4A3577-2C84-5A47-B31E-FF68284A3262/2B4A3577-2C84-5A47-B31E-FF68284A3262.zip
{
"status": "success",
"totals": {
"success": 1,
"failure": 0
}
}