At my Jenkins, I added Folder Properties and Folders plugins. I have a bunch of jobs grouped to similar folders. Jobs are customized using folder properties. One of properties is quite important and I want to see it directly at folder list, so how I do it?
Related
I am working on VFP projects, but our source control is TFS. I would like to be able to get files from TFVC and redirect them from the workspace into the TEMP folder so I can easily use a 3rd party file compare utility against them. I can do this with Vault source control. Is there a way to get a file from TFS source control and put it into the TEMP (or any other folder) without creating the project folder structure (making a new Workspace pointing to the temp folder creates the folder structure)?
There isn't the build-in feature to redirect files into other folders.
You can create a new workspace and add mappings to the corresponding folders, then switch workspace that you want and get files.
If you want the different folder structure, you can map the corresponding server folders to different folders. More information, you can refer to Optimize your workspace.
There is a ...%TMP%\TFSTemp folder concept in TFS. However it's only used for files that you view.
For example: If you view the history of a file in TFS you can view
any version you want. Simply right click on an older version and
select view from the context menu. Hover over the tab in Visual Studio
and you will see the file was downloaded to the TFSTemp folder. That
file is not check out or download to you and you are just viewing
that file.
It's not used for storing TFS version control files.
I have 55 branches in various locations. For example $/Repo/Trunk, $/Repo/Branches/branchNames, $/Repo/Features/branchNames, etc. I want to add some files to every branch. I scripted a copy and paste to put the files in the subfolder under each branch where I'd like to add them.
I then navigated to C:\TFS\Repo (my workspace for Repo) and searched for NewFile. Windows explorer brought up a list showing the 500 new files I'd just added across the 50 branch folders. I highlighted all of them, right-clicked, chose Team Foundation Server -> Add.
Here's my problem: it only added ten of them. I don't want to go back and redo that process, making sure to deselect everything I've already added (because if it's selected, the 'Add' option is disabled), and repeat this process 50 times. I also tried a script that will recursively search for files starting with NewFile and add them but it only added 300 of them (not sure why).
Am I missing something or is there no easy way for me to add all these files at once?
It sounds like you are using the File Explorer extension. Add the files via the Source Control Explorer in TFS. Right click on the root folder for the branches and choose Add Items to Folder. The dialog will show all files that could be added (including subfolders) and you can include/exclude as necessary.
This method will break the branching model for those files. After checkin there will be no branch relationship between the files and they will never merge.
You need to add the Files to one of the branches and merge them through the branch structure.
Ideally you would add them to your MAIN/TRUNK/MASTER and then merge that out to all of your DEV and FEATURE branches. You are unlikely to want to do this for RELEASE but I can imagine senarios where this would be necessary.
I have multiple solutions and in those solutions there are multiple projects. when I build the the solutions they go to a common directory. I want 2 projects in one of the solutions to output to a different sub-directory and all other projects to the common directory.
How can I do this?
You'll need to set the "Output Location" to "AsConfigured", which will put the files in the standard folder which is defined in the project files (defaults to the bin\$(Configuration) under the project folder.
You'd then need to call a post-build script (you can create a powershell script and check it into source control) which copies all the files to the output location.
This is explained in this topic on MSDN. An example script is shown on this page. It can be downloaded here.
In our project we are building project with TFS build definition feature.In TFS build definition there is one option like "workspace" where we mention all require folders which contains file which used to build project successfully. We have separate folders as per requirements which contain different units. this units are in large numbers hence when we build project and mention any folder in workspace then it extract all files in that particular folder. actually we require only few of them for project build because we used different files per project but that files under same roof.
could any one help us that how we build our project with only require files in workspace rather than whole folder?
Status =Active Source control folder =$/Artiion/ADO/LibForms/Loginf.pas: Build agent Folder=$(SourceDir)\LibForms\Loginf.pas
above example works fine
There is no reasonable way to do this. When you tell TFS Build what source folders to use, that is what you are telling it: get these folders. In theory I suppose you could modify or write your own process template and provide custom fields in which you could provide data to the build process about what files you need for that build, and then create some custom action to call out that would then replace the standard TFS Get function in the process template. But what would be the purpose? If you have certain files that are to be included in the solution build, then simply have separate solutions or projects which would include the appropriate files. Then build the specific solution based on which subcomponents you need, and then only those files will be built and copied to the drop location. Sure, they would still have been retrieved in the build agent's workspace, but they would not have been used in the actual build or placed in the drop location. If that's not good enough, and you need to actually Get different groups of files per build, then you should rearrange your files so that the necessary files are in the appropriate subfolders.
I have a folder structure setup for my code like so:
MyCodeFolder
-SolutionFileOne.sln
-ProjectFolder1
-ProjectFolder2
-ProjectFolder3
-SolutionFileTwo.sln
-ProjectFolderA
-ProjectFolderB
-ProjectFolderC
-ProjectFolderCommon
Solution one contains projects 1,2,3 and Common and Solution two contains project A, B ,C and Common.
When I come to create my TFS Builds I am getting a problem. If I just add MyCodeFolder in the working folder set up then both builds will succeed but then check-ins against project 2 will kick off a build of solution two and vice versa.
If I map only the folders the solution needs the build fails, which I am guessing is down to the fact I haven't included a mapping to the folder where the solution file is (the MyCodeFolder).
Is there a way I can solve this issue without altering my file structure?
The continuous integration trigger in TFS builds will queue a new build any time an item within that build's workspace is altered. Workspace mappings can only contain folders - you cannot include \ exclude (aka "cloak") individual files within folders.
What you can do is setup your build workspace to use the entire /MyCodeFolder folder. Then, in the build for SolutionFileOne.sln you can cloak ProjectFolderA, ProjectFolderB, and ProjectFolderC. In the build for SolutionFileTwo.sln you can cloak ProjectFolder1, ProjectFolder2, and ProjectFolder3.
This is only a partial solution. Both builds will still get kicked off when someone changes either solution file, or when anything in the ProjectFolderCommon folder is changed. Since you can't cloak the solution files themselves there's no way to avoid both builds getting kicked off on a solution file check-in without changing the structure of your files.