我的python脚本看起来像
test.py
a=10
b=20
c=10+20
我的Jenkins文件看起来像
pipeline{
agent any
stages{
stage("Executing python script"){
steps{
sh 'python test.py'
}
}
stage("Getting python variable"){
steps{
sh "The value of c is ${c}"
}
}
}
}
我如何访问阶段2中的c值,该值在阶段1中存在于test.py中
1条答案
按热度按时间0pizxfdo1#
在两个独立的shell调用之间保留状态的唯一方法是将其保留在Jenkins中。要将状态(在您的案例中为
c
)获取到Jenkins中,您需要将其序列化到控制台(或文件),然后在Jenkins中捕获该输出。在你的情况下,一个简单的python中的print(c)
就足够了,但是如果数据结构变得更复杂,序列化为JSON是一个流行的选择。然后在Jenkins中这样做:然后,您需要在Jenkins中(如果需要使用它)或将其传递到其他脚本中来实现该状态。在您的例子中,强制转换为
int
是所需的全部,但显然对于列表和Map等会变得更加复杂。