`
shappy1978
  • 浏览: 702956 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

WinRT App CI on Jenkins(VS2013)

    博客分类:
  • Win8
 
阅读更多

* Need install vs env on Win Server 2012

* MSTest not support Store App

* Need change Jenkins startup/logon account so that it can read code sign cert from cert store

****************************

So you need to setup continuous integration using Jenkins to drive Visual Studio 2013, eh? Unit Testing, too?  No problem.

 
This system, by far, has proven to be the easiest to understand among all of the Continuous Integration options explored so far (TeamCity, Bamboo).
 
Proof of concept build:
  1. Setup a virtual machine, loading the TurnKeyLinux Jenkins appliance.
  2. Go to, and log in to the new Jenkins machine.
  3. Manage Jenkins -> Manage Plugins -> Available / Installed
  4. Acquire the following plugins, and have them enabled:
  • Git Plugin
  • Git Client Plugin
  • BitBucket Plugin (because I was using BitBucket)
  • MSBuild Plugin ( compiler )
  • VSTest Runner Plugin ( unit tests - Microsoft's standard issue system )
  • NUnit Plugin ( unit tests - Popular pseudo standard issue system )
  • Install plugins + restart Jenkins ( the software; not the machine )
  • Wait for the restart
  • Log in again
  • Manage Jenkins -> Configure System (plugins are configured here)
    1. MSBuild
    • Click "MS Build installations..."
    • Click "Add MSBuild"
      • Name: ".NET 4.0"
      • Path to MSBuild: "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
    • Click "Add MSBuild"
      • Name: ".NET 3.5"
      • Path to MSBuild: "C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe"
    • Repeat as needed for other versions
  • VSTest
    • Click "VSTest installations..."
    • Click "Add VSTest"
      • Name: "VSTest Console"
      • Path to VSTest: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
  • Save
  • Go to Jenkins root (click "Jenkins" in the top-left corner)
  • Manage Jenkins -> Manage Nodes -> New Node ( it's in the left-side menu )
  • Create a dumb slave, representing a Windows + Visual Studio 2013 system
    • Provide a name
    • Root Directory: "C:\" (quotes not needed)
    • Launch Method: "Launch slave agents via Java Web Start" (this is the easiest option)
    • Save
  • Go to Jenkins root (click "Jenkins" in the top-left corner)
  • Create a "New Item" (project)
    • Provide a name
    • Build a free-style software project
    • (optionally) Restrict where this project can be run ( provide the name of a "slave" / "agent" )
    • Source Code Management: "Git"
      • Provide URL
      • Provide Credentials (password is acceptable when you fully control the machine, SSH key is best in shared-with-team development mode)
    • Add Build Step ( compile - required )
      • "Build a Visual Studio project or solution using MSBuild"
        • Provide Build File ( a ".sln" is a good choice )
    • Add Build Step ( for Visual Studio's default test system - optional )
      • "Run unit tests with VSTest.console"
        • Provide the names of the DLLs produced (ex: Bank.Test.dll)
    • Add Build Step ( for NUnit - optional )
      • "Execute Windows batch command"
        • "C:\Program Files (x86)\NUnit 2.6.3\bin\nunit-console.exe" BankNTest/bin/Debug/BankNTest.dll /xml=NTestResults/nunit-result--%BUILD_NUMBER%--%BUILD_ID%.xml
  • Go to Jenkins root (click "Jenkins" in the top-left corner)
  • Manage Jenkins -> Manage Nodes
  • Click on the newly created slave's name
  • Right-click the Orange "Launch" button, and save the file onto the slave machine (be creative: find a way to transfer the file)
  • Log into the slave machine
  • Launch "slave-agent.jnlp" (the slave machine needs to have Java installed, and Visual Studio 2013 - and optionally NUnit as needed)
  • Done
  • At this point, Jenkins should remotely launch builds and tests whenever you make a push to your git repository.  The above steps did not setup any "build triggers", because, my currently functional Jenkins project does not have any build triggers yet still works.
    分享到:
    评论

    相关推荐

      ComponentOne Studio for WinRT XAML 8.1 2014 V3

      ☆ 资料说明:☆ ComponentOne Studio for WinRT XAML 简单易学,功能全面,WinRT XAML 顶级用户界面开发控件套包;...- 只开发一次建立通用 App; - SSRS 浏览器(Beta); - WinRT 日程控件; - 离线地图;

      ComponentOne Studio for WinRT XAML 2013 v1

      ComponentOne Studio for WinRT XAML 2013 v1 Part of: Ultimate | Enterprise Powerful WinRT XAML controls for building better Windows Store apps. Reduce Development Time Studio for WinRT XAML...

      WinRT 环境下缺失 Windows API 模拟实现

      WinRT 环境下很多API没有了,比如socket相关的WSASocket,WSAConnect,线程相关的CreateThread等等,导致很多库不能使用,比如boost,基于这些库的应用如果要移植到WinRT环境下,将不得不修改很多代码,甚至需要重新...

      win8 metro 调用 winRT dll (包括C文件和cpp文件)

      总结来说,要在Windows 8 Metro应用中调用WinRT DLL,特别是从C文件中调用,你需要通过创建一个C++接口,实现对WinRT API的封装,然后在C代码中通过这个接口间接调用。这种方法利用了C++的面向对象特性和对WinRT的...

      WinRT.揭秘

      ### WinRT.揭秘 #### 一、WinRT简介 在《WinRT.揭秘》这本书中,作者深入浅出地介绍了Windows Runtime(WinRT)的概念及其重要性。WinRT是为Windows 8及其后续版本设计的新一代应用程序接口(API),旨在帮助开发者...

      vlc-winrt-master.zip

      这个压缩包“vlc-winrt-master.zip”包含的是VLC在Windows RT环境和Windows Phone上的开发源代码,使得开发者能够构建适用于这两种平台的应用程序。 VLC是一款全球知名的跨平台多媒体播放器,它支持多种视频、音频...

      windows RT开发笔记_WinRT DLL及其调用研究

      在Windows RT开发中,WinRT DLL的出现是为了在Windows应用商店应用(Windows Store Application)中兼容和复用传统的Win32 DLL。Windows RT是Windows Runtime的简称,它是一个跨语言的运行时环境,旨在为Windows 8及...

      ComponentOne Studio for WinRT XAML 2013 v1 注册码 注册机

      ComponentOne Studio for WinRT XAML 2013 v1 注册码 注册机 在 Visual Studio.NET 2012 上测试。 在 2012 V3 下测试可以使用。如果发现安装过程中有错误,建议由 2012 升级安装。

      sqlite3资源打包版本3080403

      包含资源列表: sqlite-amalgamation-3080403.zip sqlite-dll-win32-x86-3080403.zip sqlite-doc-3080403.zip sqlite-shell-win32-x86-3080403.zip sqlite-winrt-3080403....sqlite-winrt81-3080403.vsix (vs2013)

      ComponentOne Studio for WinRT XAML2012 v3

      With 30+ chart types, flexible data binding, run-time interaction, rich styling capabilities, and so much more, Chart for WinRT XAML is the most advanced charting control on the market. Apply styles, ...

      c/c++ windows ble 蓝牙操作

      c/c++ windows 通过winrt操作ble 蓝牙 #include #include #include <winrt/Windows.Foundation.h> #include <winrt/Windows.Foundation.Collections.h> #include <winrt/Windows.Devices.Bluetooth.h> #include ...

      WinRT Metro 日期选择控件

      这个是我在http://xamlwinrtcalendar.codeplex.com/上下载的,大家也可以去那儿下载。 可以实现日期选择功能,有winphone,iphone等多种样式可供选择。 使用时可以在你的项目中引用DatePicker文件夹,具体用法可以...

      winrt-via-csharp代码

      《C#探索WinRT技术:深入实践winrt-via-csharp源码解析》 C#是一种广泛应用于桌面应用、Web应用以及移动应用开发的强大编程语言,尤其在Windows平台上的开发中,C#与.NET框架的结合更是无往不利。本文将深入探讨C#...

      Windiws 10 app开发例子大全

      C++/WinRT是Microsoft最新推荐的用于Windows App开发的语言投影,它通过标准C++17模板库提供对WinRT API的直接访问。这种方式更加现代化,更符合C++的标准,同时也更易于理解和维护。C++/WinRT的代码更简洁,且无需...

      sqlite-winrt-3340100.vsix

      sqlite-winrt-3340100.vsix

      如何从.NET桌面应用程序调用WinRT API

      提供的压缩包文件“winrt-APIs-from-console-app-src.zip”和“winrt-APIs-from-console-app-src-noexe.zip”可能包含示例代码,演示如何从控制台应用程序调用WinRT API。解压并查看这些源代码,可以帮助你更深入地...

      winrt-notification:锈写的WinRT Toast API的包装不完整

      温特通知 WinRT Toast API的包装不完整已在Windows 10和8.1中测试。 在Windows 8中未经测试可能会起作用。去做: 添加对自适应内容的支持添加对动作的支持生成有效应用ID的方法已知的问题: 不适用于Windows 7。 ...

      5种方法帮微软拯救WinRT.docx

      《5种方法帮微软拯救WinRT》 微软的WinRT操作系统在过去遭遇了严峻挑战,市场反应不佳,甚至导致了高达9亿美元的损失。WinRT未能与Windows 8形成清晰的区分,导致消费者对其定位感到困惑,进而影响了其市场表现。...

      SwiftWinRT:适用于Swift的WinRT桥接

      迅捷/ WinRT 桥接到WinRT(Windows运行时)到 。例子Windows运行时的基本同步调用: import WinRTdo { RoInitialize () // ...

    Global site tag (gtag.js) - Google Analytics