Gradle调用shell脚本和python脚本并传参

Gradle调用shell脚本和python脚本并传参

最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结。

Pre

build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenkins变量,意图将gradle中的这两个值传到shell/python脚本中去用

def jenkinsBuild = System.getenv("BUILD_NUMBER") ?: "0"

println "jenkinsBuild is set to $jenkinsBuild"

def jenkinsJobName = System.getenv("JOB_NAME") ?: "defaultJobName"

println "jenkinsJobName is set to $jenkinsJobName"

Gradle调用shell脚本带参数

gradle task

task upload(type: Exec) {

       executable 'sh'    args "-c","../shelldemo.sh $jenkinsJobName $jenkinsBuild"

}

shelldemo.sh脚本中

#!/usr/bin/env bash

#从build.gradle中传入的两个参数

jenkinsJobName=$1

jenkinsBuild=$2

echo "jenkinsJobName=$jenkinsJobName"

echo "jenkinsBuild=$jenkinsBuild"...

Gradle调用python脚本带参数

gradle task

task uploadpython(type: Exec) {

    workingDir './'    

    commandLine "python","pythondemo.py","$jenkinsJobName","$jenkinsBuild"

}

pythondemo.py脚本

#encoding:utf8

import sys

jenkinsJobName=sys.argv[1]

jenkinsBuild=sys.argv[2]print jenkinsJobNameprint jenkinsBuild

...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容