【发布时间】:2016-12-09 12:00:38
【问题描述】:
在尝试构建我的 cordova 应用程序时,在我的 OSX 上使用 VSTS 代理(跨平台)构建时,我得到一个“未定义不是函数”。
我的构建日志:
tf resolvePath -workspace:ws_1_13 $/projectname/Source/BerichtgevingApp/Cordova/res/certificates/ios/Distribution.p12 -collection:http://mycompany17:8080/tfs/Projecten/ -jwt:******** -noprompt
/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s/res/certificates/ios/Distribution.p12
tf resolvePath -workspace:ws_1_13 $/projectname/Source/BerichtgevingApp/Cordova/res/certificates/ios/projectname_Berichtgeving_App.mobileprovision -collection:http://mycompany17:8080/tfs/Projecten/ -jwt:******** -noprompt
/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s/res/certificates/ios/projectname_Berichtgeving_App.mobileprovision
tf resolvePath -workspace:ws_1_13 $/projectname/Source/BerichtgevingApp/Cordova -collection:http://mycompany17:8080/tfs/Projecten/ -jwt:******** -noprompt
/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s
agent.workFolder=/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work
loading inputs and endpoints
loading INPUT_PLATFORM
loading INPUT_CONFIGURATION
loading INPUT_CORDOVAVERSION
loading INPUT_ANTBUILD
loading INPUT_KEYSTOREFILE
loading INPUT_IOSSIGNMETHOD
loading INPUT_P12
loading INPUT_P12PWD
loading INPUT_UNLOCKDEFAULTKEYCHAIN
loading INPUT_PROVPROFILE
loading INPUT_REMOVEPROFILE
loading INPUT_XCODEDEVELOPERDIR
loading INPUT_WINDOWSPHONEONLY
loading INPUT_WINDOWSONLY
loading INPUT_CWD
loading INPUT_OUTPUTPATTERN
loading INPUT_TARGETEMULATOR
loading ENDPOINT_AUTH_$/
loading ENDPOINT_AUTH_SCHEME_$/
loading ENDPOINT_AUTH_PARAMETER_$/_ACCESSTOKEN
loading ENDPOINT_AUTH_SYSTEMVSSCONNECTION
loading ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION
loading ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN
loaded 23
BUILD_SOURCEDIRECTORY=undefined
BUILD_SOURCESDIRECTORY=/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s
CWD=/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s
XCODEDEVELOPERDIR=/Applications/Xcode.app/Contents/Developer
CONFIGURATION=Release
ARCHS=null
PLATFORM=ios
TARGETEMULATOR=false
WINDOWSAPPX=null
WINDOWSONLY=false
WINDOWSPHONEONLY=false
UNLOCKDEFAULTKEYCHAIN=false
DEFAULTKEYCHAINPASSWORD=null
P12=/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s/res/certificates/ios/Distribution.p12
P12PWD=password
IOSSIGNINGIDENTITY=null
PROVPROFILEUUID=null
PROVPROFILE=/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s/res/certificates/ios/projectname_Berichtgeving_App.mobileprovision
REMOVEPROFILE=true
ANTBUILD=false
KEYSTOREFILE=/Users/mycompany/Documents/TFSAgent/vsts-agent-osx.10.11-x64-2.105.7/_work/1/s
KEYSTOREPASS=null
KEYSTOREALIAS=null
KEYPASS=null
OUTPUTPATTERN=bin
CORDOVAARGS=null
CORDOVAVERSION=6.3.1
undefined is not a function
task result: Failed
Task failed
Processed: ##vso[task.issue type=error;]Task failed
Processed: ##vso[task.complete result=Failed;]Task failed
我正在使用此构建代理 https://github.com/Microsoft/vsts-cordova-tasks / https://marketplace.visualstudio.com/items?itemName=ms-vsclient.cordova-extension。这是一个 TFS 2015 Update 3 环境。
构建服务截图:
【问题讨论】:
-
为什么你有两个BUILD_SOURCEDIRECTORY,一个在你的日志中有
BUILD_SOURCEDIRECTORY=undefined。这可能会导致问题。 -
不知道。这些是我使用的变量:gyazo.com/2c27b2cc39c3f5bf9e8003ca9b800c84。我认为它们是由 Cordova TFS 任务提供的
-
在agent上手动构建能成功吗?
-
去agentname/_work/1/s/projectmap运行
cordova prepare ios+cordova build --release ios就可以成功运行了。他们没有错误。我不是 100% 确定 cordova 任务到底做了什么以及正在运行哪些命令。遗憾的是启用调试模式不会显示 shell 命令 -
我刚刚创建了一个 Cordova 应用程序并使用与您相同的设置构建它,但无法重现它。您能否下载最新的 XPlat 代理版本并确保您使用的是最新的任务版本然后再试一次?