Extract, zip and publish TFS source-controlled items to FTP server - tfs

I want to publish nightly builds + source code of a specific project on a tfs 2010 server (local network, inside the firewall) to a (local network, in the dmz) ftp server.
Build
Get latest version
Zip build and code
Copy to ftp server
Copying the files can use ftp protocol or copy to network share.
Can I do this easily with team-build, or do I need extra tools?

You can do this pretty easily using Team Foundation Build. There are even zip and ftp Activities that ship with VS and are ready to use.
If you want a tool to make it easyer then I would recommend Final Builder. This tool inegrates into Team Foundation Build with an Activity that runs after Build and Test that you can do pretty much anything in. It has FTP and Zip Activities ready for dragging and dropping.

If you have a more complicated as we had, like synchronize/cleanup a remote site via FTP, you can easily create your custom CodeActivity and do FTP via WebClient directly in C# code.

Related

How to automate the download and installation of Sitecore update packages generated from TFS build?

I am developing a Sitecore solution locally using TDS. Our source control and build server is Visual Studio Team Services (in the cloud). I would like to figure out a way to implement Continuous Integration and get builds to be automatically installed on an Integration server that is an Amazon VM (or it could be some other externally located server). I have the TDS build configuration set up to create a Sitecore Update Package. The build process works great. At the end of the build process I have the Sitecore Update Package sitting in a Drops folder in source control (TFS in the cloud). Now I can't figure out how to automate the process of getting that update package out of source control and downloading it to the Integration server and running the Sitecore command to install it.
In a perfect world you would use something along the lines of a fancy Microsoft Release Management to deploy it to the environment of choice. However, if you are like the majority of us mere mortals without the fancy tools - this should help: https://github.com/adoprog/Sitecore-Deployment-Helpers
With these pages you could just send a get request from TFS or use the logic to write a custom PowerShell post-build script. Hope this helps!
As you are using TFS you get to use Release Management for Visual Studio out of the box. This is a simple install but at this time is separate. I have an instance of RM running in a VM and attached to my VSO instance for running deployments.
I would expect this tool, which was bought by MS last year, would become more integrated in vNext.

Is it possible to import file from local machine to Jenkins server during start of the build

Currently I have my whole automation source code (Script and test data) in Jenkins server and whenever I want to change my test data, I need to go to the Jenkins server machine and changing it .
The problem is if I want to change the test data, I need to wait for long time for my access from the admin team. Also I have huge number of test data in my project so I am not interested in creating Jenkins project with Parameter Builds. So if there any option available in Jenkins to import files (excel) before build then that would we helpful.
Please consider as a priority one.
The most common way to transfer files to Jenkins server is to use a version control system like git or subversion:
Commit files to version control system
Configure Jenkins job to detect change in the version control system and check out work directory for the build or test
If your files are so big they cannot fit into a version control system (some of them do not perform well with files in the gigabyte range), you could use a shared disk drive which you have permission to write to.

Why can't change source code provider in TFS 2012

I just signed up for Team Foundation Services Cloud Service since I've failed to implement TFS on my server and local machine. I want to change the source provider from the previous TFS system I abandoned to the new cloud one. It still refers to the old one. I've gone through all the options available, including running a program off of CodePlex that will remove source control bindings. For some reason, it refuses to allow me to unmap my source control from the old server and bind it to the new TFS cloud service. Why?
EDIT: I noticed there are some invisible .SUO files in my project directories. Is this where TFS 2012 stores it's settings? I deleted these files and somehow I was able to map my source to the new server. There were work spaces that appeared when I ran TFS from the command line that didn't appear in the in VS.
I tried everything including uninstalling TFS server locally and removing all traces of the old server connection info on my system and I still couldn't get it to switch to another server. It was like a pit bull that wouldn't let go. I had the taught that Microsoft wanted to make their TFS look less cluttered by hiding its ugly plumbing in invisible folders like Git and Mercurial. Sure enough, there were SUO files hidden in my directory and subfolders. I recursively deleted all them and was able to connect to the new server.
The following command should recursively remove all hidden SUO files from your solution folder:
del /S /A:H *.suo

How to have tfs publish specific folder using web deploy

I need to publish a specific folder in my project to my web site using tfs builds. I know tfs copies to a drop folder but I also need it to publish to my web server when I queue a new build. Is there anyway I can do this? I currently have web deploy installed on my server and I have tested it and know it works. Would these be some type of build definition? I can only find sample definitions that copy to a UNC path.

TFS 2010 Build ClickOnce deployment files

My application consists of a Server and Client. Each of our customers has a PC that will host the server and a clickonce deployment of the client that they can then install on whatever PCs they want to have it. I am currently trying to find out the best way to handle this since the support for publishing clickonce installers from TFS Build seems to be nonexistent.
The publish URL for each customer will be different so I would like to have a separate build for each customer that just reuses the binaries built for the server and client.
My ideal solution would be having a team project for the code (Server and Client) and then a separate team project with folders for each customer. The Customers Team Project would also house the binaries from the builds of the Server and Client. Then I would create a build for each customer that would change the publish url of the client clickonce .application file and re-sign it.
The biggest place I am stuck right now is how to get the clickonce publish files from Team Build, but I am also curious if there is just a totally better way to do this that I have missed.
Thanks
See "Building ClickOnce Applications from the Command Line [MSDN]"
I think you could set up a MSBuild workflow activity in Team Foundation Build to publish each of your customer's projects, if you're using the default Workflow template.

Resources