jenkins - 如何在 Jenkins 管道的 url 中连接 $HOME
问题描述
如何$HOME
在 Jenkins 流水线中连接 URL?我目前有以下管道,我想添加我的主路径,而不是硬编码/users/john
.
这就是我所做的,但我收到一个错误HOME
是
groovy.lang.MissingPropertyException:没有这样的属性:HOME 类:groovy.lang.Binding
pipeline {
agent {
label {
label ""
customWorkspace "$HOME/qa-end-to-end"
}
}
tools {nodejs "node"}
stages {
stage('Checkout App') {
steps {
dir("/$HOME/sfa") {
echo "Building.."
sh 'git reset --hard HEAD'
sh 'git clean -f -d'
sh 'git pull'
}
// build app
dir("$HOMEsfa") {
sh '$HOME/qa-end-to-end/App.sh'
}
stage('Reports') {
steps {
script {
allure([
includeProperties: false,
jdk: '',
properties: [],
reportBuildPolicy: 'ALWAYS',
results: [[path: 'target/allure-results']]
])
}
}
}
}
当我运行这个 -
sh '${env.HOME}/qa-end-to-end/App.sh'
我收到一个错误 - 替换错误
解决方案
您可以使用 env 对象在管道步骤中访问环境变量,例如:
${env.HOME}
查看文档中的示例
Jenkinsfile (Declarative Pipeline)
pipeline {
agent any
stages {
stage('Example') {
steps {
echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
}
}
}
}
推荐阅读
- python - InterfaceError:错误绑定参数 4 - 可能不支持 type.for 图像和 blob 图像不会显示在 QTLabel
- mqtt - 什么是最常见的、行业首选/使用的有效负载格式化方法?
- powershell - Powershell foreach 创建多个 csv 文件,我希望在创建后通过电子邮件发送这些文件。这如何实现?
- windows-subsystem-for-linux - Windows 10 wsl2 上的 Ubuntu - chown chmod 不适用于复制的文件
- java - 多线程 BlockingQueue - 在头部添加
- javascript - 如何从我的 websocket 一次获取多个值
- python - 我不明白导致程序冻结的问题是什么
- c++ - 如何使用 CAPL 连续监控 CAN 信号?
- python - 将值按列添加到数据框
- laravel - 此集合实例上不存在属性 [apps]