Jenkins通过ssh远程linux或windows的权限问题记录

一、Jenkins通过ssh远程linux权限问题

  • 背景
要实现项目的自动化测试环境搭建,本地测试已通过,需要部署到Jenkins上,实现自动集成构建测试
  • 问题描述
Jenkins通过ssh已经成功连接到linux系统,做好配置后进行集成构建,出现以下报错,提示Squish没有认证,无法使用,可实际上安装的时候已经通过密钥进行认证,而且本地可正常使用
错误一:
Squish license is missing or malformed: Couldn't find a license file in '/home/wondfo/'.
****************************************************************
* This is an UNLICENSED version of Squish. Please install your *
* license key provided by froglogic. For assistance, please *
* contact sales@froglogic.com *
****************************************************************
错误二
./runner.sh: line 13: /home/squish-for-qt-6.7.1/bin/squishrunner: Permission denied
错误三
bash: line 2: ./runner.sh: Permission denied
等等...........
  • 考虑原因
        在本地上搭建环境(安装软件,创建文件夹、脚本文件、写用例等)一直用的root权限,但Jenkins的ssh远程权限只能添加普通用户权限,导致通过Jenkins执行脚本出现权限不足的问题,因为远程执行的脚本中调用了Tomcat、squish等程序,所有权限不足的问题逐步出现,挨个解决,最后索性将所有用到程序、文件、文件夹都修改权限,问题算是完全解决了
  • 解决问题
对调用的程序、执行的文件、文件夹 均做修改权限的操作
1.通过命令 ls -ld filename 查看当前文件或程序的所有权
2.,对于脚本 可以使用 命令sudo chown username filename 将filename的用户权限修改为username
3.对于脚本 可以使用 命令sudo chgrp username filename 将filename的用户组权限修改为username
4.对于文件夹,将文件夹下所有文件的用户/用户组权限均修改,可以使用-R参数来遍历文件夹,sudo chown -R username filen/sudo chgrp -R username file

二、Jenkins通过ssh远程win10权限&环境变量问题

  • 背景
win10 环境下的编译环境,本地使用脚本编译已通过,需要部署到Jenkins上,实现自动集成编译
  • 问题描述
Jenkins通过ssh已经成功连接到win10系统,做好配置后进行集成构建,出现编译失败
错误一:
error: call of overloaded 'push_back(uchar)' is ambiguous
param.push_back((uchar)WfTrack::EOperateTracks_Pause);
错误二
mingw32-make : E:\\src\modules\nng\lib/libnng.dll: file not recognized:  File format not recognized
  • 考虑原因
        本地编译成功,通过远程编译失败,考虑原因
1、环境变量问题,win10下搭建环境时,会将QT相关的环境变量添加至path,但是远程可能因为权限问题无法获取到要使用的环境变量,所以需要将环境变量直接添加在编译脚本
2、权限问题,Jenkins的ssh远程权限只能添加普通用户权限,本地的一些文件或文件夹对于远程的用户没有读写修改的权限,导致编译失败,可尝试将远程用户添加至过程文件访问权限中
  • 解决问题
1.将环境变量直接添加在编译脚本中,powershell格式
$env:PATH = "$env:PATH;E:\Qt\Qt5.12.8\5.12.8\mingw73_64\bin"
$env:PATH = "$env:PATH;E:\Qt\Qt5.12.8\Tools\mingw730_64\bin\"
设置环境变量后,上面错误二,没有再包,再次编译又报错误一。
2.将编译的过程文件/文件夹都增加远程用户角色,按照以下引导,对所有要添加用户权限的文件进行修改
修改完之后再在Jenkins上进行远程编译,可以编译-打包通过
  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值