locked
TFS continuous integration in different networks RRS feed

  • Question

  • Hi,

    We are looking to set up continuous integration using TFS.  This situation is, our TFS is in network A and our application servers (SharePoint servers) are in network B.  The only way to connect to network B is using a VPN, how could we implement continuous in this case?  Could you please share your experience or direct me to some documentation on the internet? I am new to this area of work and I have tried searching on the internet for past couple of months. 

    What we have been trying to do is, create a package on TFS build server and move it to our application server, using SFTP, and then using a powershell script to deploy the application.  Though this might work to automate build and deployment, we are not sure how to automated the unit tests and generate reports.  Any help in this would be of great help.

    One more thing is the target server does not have a public host name, it could be connected only via VPN as I mentioned. We are moving the package via SFTP by making use of an intermediate server that support SFTP.

    Thank you!

    Thursday, August 15, 2013 5:54 AM

Answers

  • Hi,

    As your TFS and SharePoint servers are in different networks, you need to use VPN to connect these two servers together. The VPN connection setting is controlled by IT specialist, if you do not want this limitation, consult your IT specialist directly.

    For your requirement about unit tests, I suspect you just would like to do the internal logic tests. If so, you can create a test project to store these unit tests, then add that test project in the build definition. These tests will run during the build process. However, if you mean you would like to do some tests for SharePoint features, I think you need to first consult SharePoint experts about how to do such tests, go: http://social.msdn.microsoft.com/Forums/sharepoint/en-US/home?forum=sharepointgeneralprevious. Then you can create a build activity to call the scripts to run these tests (suspect these tests are performed in script)

    Thanks.


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Friday, August 16, 2013 10:50 AM
    Moderator
  • Hi jpradeepraj

    As long as your VPN is connected you can do all various option of remote deployment from the build server to your Application Share point server.

    You confirmed that already you are using SFTP to transfer the packages that concludes the connectivity is fine.

    Either you can use the remote web deploy option or using Sysinternal PSExec tools to deploy your packages remotely.

    You can customize your Build process template build activity InvokeProcess to call the PSExec tool and do what ever your custom deployment process.

    "Different network won't give any troubles as long as the VPN connectivity is up"

    Inclusion of unit testing is straight forward, you can add the unit test project and using test container approach setup the TFS Build properties to run unit test on output assemblies.


    Cheers KSR

    Sunday, August 18, 2013 6:17 PM

All replies

  • Hi,

    As your TFS and SharePoint servers are in different networks, you need to use VPN to connect these two servers together. The VPN connection setting is controlled by IT specialist, if you do not want this limitation, consult your IT specialist directly.

    For your requirement about unit tests, I suspect you just would like to do the internal logic tests. If so, you can create a test project to store these unit tests, then add that test project in the build definition. These tests will run during the build process. However, if you mean you would like to do some tests for SharePoint features, I think you need to first consult SharePoint experts about how to do such tests, go: http://social.msdn.microsoft.com/Forums/sharepoint/en-US/home?forum=sharepointgeneralprevious. Then you can create a build activity to call the scripts to run these tests (suspect these tests are performed in script)

    Thanks.


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Friday, August 16, 2013 10:50 AM
    Moderator
  • Thank you Vicky Song for your response.  I will explore the option of adding the test project in the build definition.

    Saturday, August 17, 2013 7:03 AM
  • Hi jpradeepraj

    As long as your VPN is connected you can do all various option of remote deployment from the build server to your Application Share point server.

    You confirmed that already you are using SFTP to transfer the packages that concludes the connectivity is fine.

    Either you can use the remote web deploy option or using Sysinternal PSExec tools to deploy your packages remotely.

    You can customize your Build process template build activity InvokeProcess to call the PSExec tool and do what ever your custom deployment process.

    "Different network won't give any troubles as long as the VPN connectivity is up"

    Inclusion of unit testing is straight forward, you can add the unit test project and using test container approach setup the TFS Build properties to run unit test on output assemblies.


    Cheers KSR

    Sunday, August 18, 2013 6:17 PM
  • Hi,

    I mark my and Senthilraj's replies as answers. If you still have anything unclear, please post back.

    Thanks.


    <font color="0099FF">&lt;THE CONTENT IS PROVIDED &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED&gt;</font><br/> Thanks<br/> MSDN Community Support<br/> <br/> Please remember to &quot;Mark as Answer&quot; the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    Wednesday, August 21, 2013 7:11 AM
    Moderator