在Jenkins上构建Cordova tools Visual Studio 2013 CTP3.1

在Jenkins上构建Cordova tools Visual Studio 2013 CTP3.1,cordova,msbuild,visual-studio-cordova,Cordova,Msbuild,Visual Studio Cordova,经过长时间的努力,我终于能够从命令行运行.jsproj的构建,但项目源代码仍然没有被复制,而只是bld\Ripple\Android\Debug中的空白平台目录 bld\Debug目录看起来已经与从VS内部生成的目录完全相同 我使用了一个MSBuild(通过NANT)通过以下参数来完成它: <target name="generatedeployfolderripple"> <exec program="${MSBuildPath}&q

经过长时间的努力,我终于能够从命令行运行.jsproj的构建,但项目源代码仍然没有被复制,而只是bld\Ripple\Android\Debug中的空白平台目录

bld\Debug目录看起来已经与从VS内部生成的目录完全相同

我使用了一个MSBuild(通过NANT)通过以下参数来完成它:

  <target name="generatedeployfolderripple">
    <exec program="${MSBuildPath}" verbose="true">
      <arg line='"${SolutionFile}"' />
      <arg value="/target:Build" />
      <arg value="/property:LangName=en-US" />
      <arg value="/v:Detailed" />
      <arg value="/property:platform=Android" />
      <arg value="/property:DebuggerFlavor=RippleNexus" />
      <arg value="/property:ProjectDir=." />
      <arg value="/property:MdaVsCliProjectDir=." />
      <arg value="/property:NpmInstallDir=${NpmInstallDir}" />
      <arg line="/property:Configuration=Debug;MDAVsixDir=${MDAVsixDir};NodeJsDir=${NodeJsDir}" />
    </exec>
  </target>


Visual Studio 2015使用任何构建系统都要容易得多。甚至还有一个

也就是说,如果您必须继续使用is VS 2013,您应该能够在中使用PowerShell脚本

这些说明与VS 2013的要求相当接近。我相信您已经注意到,最大的区别在于MDAVSIXDIR的位置是不可预测的。我们已经在VS 2015中解决了这个问题,但实际上我们建议在VS 2015中的项目中使用Gulp而不是MSBuild,因为这可以直接在OSX上运行,而无需将生成服务器与远程生成代理配对。这就是为什么教程不直接应用于VS 2013,因为该技术在那里不可用


关于将您的VS 2013项目转换为VS 2015的说明。

对于VS 2013中的Ripple,没有一种内置方法可以在不构建本机Android平台的情况下实现这一点。Ripple不是为在CI场景中使用而设计的

相反:

  • 为Android做一个本机构建
  • 进入bld/Debug
  • 安装ripple后,从命令行执行ripple:

    npm install -g ripple-emulator
    ripple emulate android
    
  • 在VS 2015中,您甚至不需要构建。关于将VS 2013项目转换为VS 2015的说明。要在2015年在VS之外的Ripple中运行您的项目,请首先执行以下命令以安装正确的工具:

    npm install -g ripple-emulator
    npm install -g cordova@5.1.1
    
    …将5.1.1替换为目标Cordova版本

    接下来,只需将源代码签出到一个文件夹,并从项目文件夹的根目录执行以下操作

    cordova platform add android
    ripple emulate android
    

    我希望迁移到VS2015,该迁移教程可能会有所帮助!也就是说,我刚刚意识到我已经能够为Android构建它了。您提到的PowerShellScript是否也会将src资源(my html、js、css)复制到Ripple Build文件夹?我昨天已经看到了,但是从那里的文档中我知道它只会复制apk、.ipa或.plist文件,这不是我现在缺少的。我的意思是目录是bld\Ripple\Android\Debug,目前只有一个空的平台文件夹。如果你在做CI,你可能不想要Ripple文件夹——你可能想要实际生成的应用,不是吗?不幸的是,默认值会产生涟漪。同一教程将告诉您如何解决该问题。只需将以下内容添加到MSBuild命令行调用中即可:/p:DebuggerFlavor=AndroidDeviceI’s两者都需要,因为我还希望部署更新的模拟器。但我同意你的观点,真正的设备实际上是最重要的。我已经配置了一个nodeJS实例来为模拟环境服务。至于DebuggerFlavor,是的,我已经设置了另一个任务,像这样运行它并生成Android构建!因此,我的问题只是Ripple“可部署”的问题(到目前为止还没有尝试过IOS),换句话说,当我使用VS文件夹bld\Ripple\Android\Debug构建时,它有一个完整的设置结构,而不仅仅是一个空的平台。无法找出VS构建和命令行构建之间的差异!有趣的用例。出于好奇,你为什么要部署Ripple?用户测试版?也就是说,问题是您在bld\Ripple\Android\Debug中看到了内容,但该位置的platforms文件夹是空的吗?如果是这样的话,这不应该引起问题。您可以npm安装ripple emulator,然后从调试文件夹中运行“ripple emulate”来启动它。Ripple本身不使用本机代码。