This is a public Discussion Area  publicRSS

Welcome Guest

Log in if you have an account.

Otherwise, register for an account.

For more details, please visit the How This Site Works page.

Forums

Add-ons and Extras Recent Posts

  • Mark Richter
    TFS and Go with SvnBridge41
    Post last edited March 8, 2012 by Mark Chang

    Hello!

    As of Go 12.1, Go has native TFS SCM support.  Check this out.

    --Mark Chang

     

    ----

     

    Many Team Foundation Server (TFS) customers are hungry for more flexible, configurable and open build solutions. Go does not support direct integration with TFS. That will change, but until then there is a workable solution using SvnBridge.

    NOTE: I tested this with TFS 2010, but the set up for TFS 2008 *should* be the same.

    You can install SvnBridge either on each client PC or centrally as a web site on a server. The latter for conveniance and ease of maintenance over a team. In server-mode it goes on the TFS application tier machine. If you have TFS all on one box, then that's the application tier, too. Follow the installation instructions to install SvnBridge.

    IMPORTANT: The account used by the IIS application pool assigned to the SvnBridge web application needs to be an authorzed user with access to the areas of TFS source control for the code being access via SvnBridge.

    RECOMMENDED: Install SvnBridge on the TFS application tier so it does not have to be configured as a client on your GO Windows agents.

    TFS 2010 supports the notion of Team Project collections. If you have more than one project  collection then you need a separate SvnBridge application on the TFS app tier for each collection. The information below shows you how to set up for multiple project collections. If you are using TFS 2008 or only use one project collection just configure a single collection.

    SVNBRIDGE WITH TFS 2010 ON IIS 7.5

    Configuring SvnBridge for multiple project collections is not difficult, but it pays to be organized.  

    1. You need a separate web app for each collection. I bundled them in a hierarchy under a single web site to keep things tidy.
    2. You need to configure web.config for each web app to point to a project collection as follows:

     <add key="TfsUrl" value="http://localhost:8080/tfs/DefaultCollection/" />

    I defined a hierarchy that looks like this. Note that a separate copy of the SvnBridge app is needed for each collection directory. These cirectories become the target for each collection's web app.

    • SvnBridge
      • DefaultCollection
        • bin
        • Logs
        • web.config
      • MyCollection
        • bin
        • Logs
        • web.config

    I defined a site called SvnBridge and put it on port 8081 pointing at the SvnBridge directory. I also made sure that this site was assigned to an ASP.NET 4.0 application pool running in integrated mode. 

    IMPORTANT: The account used by the IIS application pool assigned to the SvnBridge web application needs to have access to the areas of TFS source control for the code being access via SvnBridge. 

    • I recommend creating a special account in Windows for this and giving it read access on all the Team Projects with source libraries you're using in GO pipelines.
    • I recommend you use the same account to run the SvnBridge application pool AND the GO Agent process on Windows. 
    • I recommend that this be a separate "service" account with a well-protected password for good SOX/PCI governance.

    I defined applications under SvnBridge called DefaultCollection and MyCollection respectively and pointed their target directory at the like-named directory, which contains a copy of SvnBridge code.

    I set the respective TfsUrl key values under <Appsettings> in each web.config appropriately.

    CONFIGURING GO

    The code snippet below is an example of a GO pipeline to build using SvnBridge. This pipeline runs a build of a Visual Studio solution using Rake. Details for doing this are here

    To reference the project called test use http://mytfsserver:8081/DefaultCollection/test or http://mytfsserver:8081/MyCollection/test if not using the DefaultCollection. 

    The username attribute of the svn tag denotes the fully-qualified Windows domain name of the user in TFS, in this case, me.


    Recent Comments (3 of 4)

  • Stephen Scott
    GoTray ?7
    Post last edited February 9, 2012 by Stephen Scott

    Does anyone know if  there an equivalent of cctry.exe that works with Go? (or indeed can cctray.exe be configured to work with Go?)

    Regards

    Steve

    Recent Comments (3 of 7)

  • Nayab
    Pipeline configuration xml2
    Post last edited February 9, 2012 by Nayab

    Is there any way to get the pipeline configuration xml file?

    Recent Comments (2 of 2)

  • Nayab
    Historical pipeline data feed1
    Post last edited February 9, 2012 by Nayab

    Is there any way for us to get all the details of the job which were run earlier in a pipeline stage? 

    Recent Comments (1 of 1)

  • janmejay
    Failed test aggregation across jobs and pipeline instances21
    Post last edited February 9, 2012 by janmejay

    Go "Failed Build History" page(i.e. "Tests" tab on the stage details page), displays test-failure details grouped by pipeline instance and sub-grouped by jobs. However, this leads to repeatition when the same test runs on more than one job. For instance, in a setup where tests are run in different environments(GNU/Linux, Mac, Windows etc) using one(or more) jobs per environment, or when using TLB(http://test-load-balancer.github.com) to load balance tests across jobs, this grouping displays all "test-case + job + pipeline-instance" combinations as distinct entries. While grouping is useful and helps developers pin-point environment specific issues,  it also makes it a bit difficult to guage the actual number of failures and makes it hard for the user to come up with a unique list of tests that need to be fixed.

    Better FBH(a browser extension) can be installed onto either Firefox or Chromium/Google-Chrome to have an all-failing-test list rendered on the failed build history page. This plugin is a Go UI enhancement that munges the data on FBH page to come up with a list of failing tests and links them to the respective job-detail pages. Firefox users will need to install an extension called Greasemonkey before they click the link to install Better FBH. Chromium/Google-Chrome users just need to click the link. The plugin displays aggregated list in the right hand side column on FBH page(check the attached screenshot). 

    Source is available at: https://gist.github.com/909586 

    PS: IE has grease monkey equivallent too, but we haven't tested with it.

    Recent Comments (2 of 2)

  • Jake "Anandha Krishnan"
    Go Feeds for Android Mobile1
    Post posted April 11, 2011 by Jake "Anandha Krishnan"

    Go Feeds is an Andriod application which currently acts as a Feed Reader for the stage feeds provided by Go. It lists all the activity on a give stage and highlights a passing build differently from a broken or cancelled build.

    The goal of the Andriod app is to make it a sophisticated Mobile client to the Go server, and provide SMS like notifications on broken builds, ability to trigger/cancel build and quickly share information about the current state of the CI from your Andriod phone.

    This is an open source app hosted on Github. Below are steps to try out the app which is still in early stages of development. The video attached provides a quick demo. The app is currently not on the Andriod Market, but I have attached the appliaction if you would like to try it out.

    Please email me if you have idea for adding features or would want to contribute to the app.

    This code works on  Andriod 2.2 SDK and has been developed on IntelliJ IDEA 10 Community Edition.

    The idea project files are included along with the Runtime configurations and should directly launch the emulator if the Andriod 2.2 SDK and simulator are installed on the system.

    When the app launches, following information is needed.

    - A valid Go server installation with at least one pipeline setup

    Ex. http://<my-go-server>:8153

    - A valid username , password with view permissions to at least one pipeline on the configured Go Sever.

    - Name of one Active pipeline

    Launch the Application

    - Hit Menu

    - Goto Preferences

    - Add all of the above information. You can add multiple pipelines separated by commas.


    Current progress on the app:

    - I have managed to a get a feed reader/client for the Go stage feeds. It works using a standard SAX parser.
    I tried others but nothing manages to give decent performance on a mobile phone.

    - The focus of the code has been to make best use of the ListActivity/ ListView provided by the andriod SDK. as per the Google I/O
    presentation on "World of ListViews"

    - Ability to configure URL and Add new pipelines.

    Continuing work on :

    - Ability to not have to relogin when taken to browser view on a specific stage.

    - Converting to a Andriod background Service, which polls the feeds and Alerts on special conditions. (Build pass/ break etc)

    - Breaking down feeds at a Stage level, filtering or specific feeds.

    - Auto completions for Configuration settings.

Recent Comments

  • March 8, 2012 - As of Go 12.1 , Go has native TFS SCM support. Check this out. --Mark
  • January 5, 2012 - Thanks RobertZ :) Using the binary from the zip file on that page, I...
  • December 30, 2011 - I was able to get CCTray working by following an older thread, Using...

Recent Participants

  • Scott
  • Morag Keirns
  • srinivasa
  • Kurt
  • Ben Butler-Cole
  • Mike
  • Melissa Doerken
  • Ron
  • LeeBenhart
  • Adrian S.
  • Lisa
  • goley
  • sdqali
  • Suzie Prince
  • Anshika
  • sweety rai
  • Huimin Li
  • Adam Monago
  • Santosh
  • azuniga

Search this Forum

Keyword Search