Azure DevOps 的 Ionic macOS 构建问题

Posted

技术标签:

【中文标题】Azure DevOps 的 Ionic macOS 构建问题【英文标题】:Ionic macOS build issue wtih Azure DevOps 【发布时间】:2018-11-07 20:25:32 【问题描述】:

我正在尝试使用 Azure DevOps - 托管 macOS 代理为 ios 构建基于 Ionic 的框架(包括 Cordova 插件)。我在“需求”部分包含了 xcode。

添加了 Cordova 构建任务并将平台值设置为 'ios'

但出现“当前工作目录不是基于 Cordova 的项目”错误。我错过了什么吗?

2018-11-07T19:49:07.6357620Z Module cache at /Users/vsts/.taco_home/node_modules
2018-11-07T19:49:08.4403560Z cordova already installed.
2018-11-07T19:49:08.4959970Z Adding support plugin.
2018-11-07T19:49:09.2854590Z  CordovaError: Current working directory is not a Cordova-based project.
2018-11-07T19:49:09.2855410Z     at Object.cdProjectRoot (/Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/cordova-lib/src/cordova/util.js:170:15)
2018-11-07T19:49:09.2856100Z     at /Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/cordova-lib/src/cordova/plugin/index.js:36:40
2018-11-07T19:49:09.2856540Z     at _fulfilled (/Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/q/q.js:854:54)
2018-11-07T19:49:09.2856690Z     at self.promiseDispatch.done (/Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/q/q.js:883:30)
2018-11-07T19:49:09.2856810Z     at Promise.promise.promiseDispatch (/Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/q/q.js:816:13)
2018-11-07T19:49:09.2858330Z     at /Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/q/q.js:877:14
2018-11-07T19:49:09.2858660Z     at runSingle (/Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/q/q.js:137:13)
2018-11-07T19:49:09.2858880Z     at flush (/Users/vsts/.taco_home/node_modules/cordova/8.1.2/node_modules/cordova/node_modules/q/q.js:125:13)
2018-11-07T19:49:09.2859360Z     at _combinedTickCallback (internal/process/next_tick.js:73:7)
2018-11-07T19:49:09.2859510Z     at process._tickCallback (internal/process/next_tick.js:104:9)
2018-11-07T19:49:09.2860600Z   name: 'CordovaError',
2018-11-07T19:49:09.2861150Z   message: 'Current working directory is not a Cordova-based project.',
2018-11-07T19:49:09.2861220Z   code: 0,
2018-11-07T19:49:09.2861360Z   context: undefined 
2018-11-07T19:49:09.2972390Z ##[error]Task failed

【问题讨论】:

你试过这个solution 吗? @Jayendran 提到的解决方案都不适合我。正如我所提到的,这是在 Azure DevOps 管道上运行的。所以不确定如何使用多个命令。 【参考方案1】:

尝试添加以下内容而不是cordova build

npm 安装

Ionic 命令(命令:ionic cordova build ios)

安装苹果证书 安装苹果配置文件 Xcode 构建 发布到应用商店(从市场安装)

【讨论】:

以上是关于Azure DevOps 的 Ionic macOS 构建问题的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps ionic Android Build 错误“Build-tool 31.0.0 is missing DX at /usr/local/lib/android/sdk/bu

在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

在windows vm上部署Azure Pipelines Agent

如何将 Azure DevOps Extension for Azure CLI 与 Azure DevOps Server 一起使用?

azure devops cloud 和 azure devops server 2019 之间的区别

Azure DevOps系列Azure DevOps构建.NET EFCore应用程序