使用Jenkins Pipeline签署一个JavaScript文件

pexxcrt2  于 2023-10-17  发布在  Jenkins
关注(0)|答案(2)|浏览(95)

我正在尝试使用Jenkins Pipeline中的jarsigner对一个JavaScript文件进行签名。虽然我可以手动完成,但我不确定它在管道脚本中应该如何工作。有人能帮帮我吗?
jarsigner -keystore keystore.jks -storepass key_password your_app.war myalias
我想将签名阶段添加到管道脚本中。可以使用/bin/sh命令来运行jarsigner吗?

stage('Sign') {
    steps {
         sh '''#!/bin/bash
                jarsigner -keystore keystore.jks -storepass keystore_password -keypass key_password your_app.war myalias 
         '''
    } }

谢谢

ig9co6j1

ig9co6j11#

一般不需要#!/bin/bash。只需添加一个脚本步骤并添加sh命令:

stage('Sign') {
    steps {
        script {
            sh 'jarsigner -keystore keystore.jks -storepass keystore_password -keypass key_password your_app.war myalias'
        }
    } 
}

您可能会遇到jarsigner不会被识别为命令的问题。在这种情况下,按照this answer将命令导入Jenkins路径。

qzwqbdag

qzwqbdag2#

你说对了,就是这样。我想补充的一点是将密码存储在Jenkins中,而不是管道本身

stage('Sign') {
    steps {
        withCredentials([
            string(credentialsId: 'jarsigner-password', variable: 'JARSIGNER_PASSWORD'),
        ]) {
             sh '''#!/bin/bash
                 jarsigner -keystore keystore.jks -storepass:env JARSIGNER_PASSWORD -keypass:env JARSIGNER_PASSWORD your_app.war myalias 
             '''
        }
    }
}

如果你的命令失败了,因为它找不到jarsigner,请按照他的答案中提供的链接@m-b。

相关问题