Вам нужно будет получить Terraform home с помощью команды инструмента, а затем добавить его в переменную среды Path , чтобы интерпретатор оболочки, вызванный bat , мог найти terraform command:
def tfHome = tool name: 'Terraform', type: 'com.cloudbees.jenkins.plugins.customtools.CustomTool'
env.Path = "${tfHome};${env.Path}"
В вашем конвейере это будет выглядеть так:
pipeline {
agent any
stages {
stage('Hello') {
steps {
def tfHome = tool name: 'Terraform', type: 'com.cloudbees.jenkins.plugins.customtools.CustomTool'
env.Path = "${tfHome};${env.Path}"
bat 'terraform --version'
echo 'Hello World'
}
}
}
}
Вы также можете использовать tool непосредственно в Команда bat (это то, что я делал, когда регулярно использовал Jenkins):
pipeline {
agent any
stages {
stage('Hello') {
steps {
bat "${tool name: 'Terraform', type: 'com.cloudbees.jenkins.plugins.customtools.CustomTool'}\terraform --version"
echo 'Hello World'
}
}
}
}
Вы можете увидеть рабочий пример в этой статье Автоматизация проектов Terraform с помощью Jenkins .