• jenkins控制库连接问题集


    jenkins控制库连接-问题集

      接上面两篇文章,记录下遇到的一些问题和解决方法

    1、添加jenkins凭证

        经常用到这个函数去获取远程机器的登录账号和密码

    def GetRemoteServer(ip){
        def remote = [:]
        remote.name = ip
        remote.host = ip
        remote.port = 自建数据库服务器的ssh端口
        remote.allowAnyHosts = true
        //通过withCredentials,调用Jenkins证书管理中已保存的凭据,credentialsId需要填写,其他保持默认即可
        withCredentials([usernamePassword(credentialsId: '事先配置在jenkins 的自建数据库服务器的账号密码凭据', passwordVariable: 'password', usernameVariable: 'userName')]) {
            remote.user = "${userName}"
            remote.password = "${password}"
        }
        return remote
    }

      上面有个“事先配置在jenkins 的自建数据库服务器的账号密码凭据”,需要配置jenkins的证书管理,填完会返回一个ID,也就是 credentialsId

    【系统管理】 ——》 【安全】 ——》 【Manage Credentials】——》全局凭据——》添加凭据

    2、JAVA_HOME 找不到

      话说,这个是历史遗留问题了,一直没去解决,体现在jenkins新建“构建自由风格的软件项目”上,war包拷贝到远程机器上,开启tomcat报错。这种情况不是每次都会出现,但一出现我就会加 export JAVA_HOME

       这种方法有时能解决有时不行,比较头疼,试过在拷贝到的远程机器账号上,普通用户(.bashrc),全局配置文件(/etc/profile)加JAVA_HOME环境变量,也确认过jenkins机器上环境变量JAVA_HOME都是有配置的,但有时还是会抽风,今天顺带解决了,原来是jenkins ui 界面的全局属性里没有配环境变量,之前是空的。

     

    解决效果图:

     3、pipeline 报错:Host key verification failed

      pipeline拷贝jar包到远程文件报错,其实我比较摒弃这种直接sshpss 接密码的方式传输,很不安全,下图这个也仅仅是验证猜想。

         这个报错有几种方法解决。

    方法一:

      首先要搞清楚,这个复制的动作是运行jenkins的用户做的,网上说报错需要jenkins用户有”/bin/bash" 权限(/etc/passwd文件里),也就是下图红框部分改成”/bin/bash"

     

       然后vim ~/.bash_profile 加一串东西,最后加载。如果sshpass不想明文传输密码,就要在jenkins用户生成密钥对,把公钥放到远程机器上。

    方法二(推荐

      流水线语法 --- 不用给jenkins用户登录权限,不用配密钥对

    (这个方法是小俊子提示我的)

      

       点击进去,能根据在自用项目或者maven项目设置的步骤,转化为pipeline语法,当时给我转成sshPublisher这个方法,改了一下就能用了,所以前面文章会有这条:

    sshPublisher(publishers: [sshPublisherDesc(configName: '自建数据库服务器在jenkins系统管理上的SSH Server Name', transfers: [sshTransfer(remoteDirectory: '$JAR_TMP_HOME', removePrefix: '项目目录/target', sourceFiles: '项目目录/target/构建出的jar包名-*.jar')])])                

      所以,不是俺自己手动写的,靠pipeline流水线语法转过来,然后改了关键字,哈哈哈~~~

  • 相关阅读:
    loadrunner 字符集与检查点的探讨
    oracle使用游标进行循环数据插入
    QTP之WinMenu对象的测试
    VBS数组深入浅出
    Loadrunner 如何访问数据库
    loadrunner字符串处理函数
    动态SQL现实一个表中求多列的和
    oracle中WMSYS.WM_CONCAT函数的版本差异
    强制卸载LINUX系统自带JDK
    loadrunner调用QTP脚本来实现性能测试(一次现场特殊需求的解决方案)
  • 原文地址:https://www.cnblogs.com/windysai/p/16084378.html
Copyright © 2020-2023  润新知