Where are repos located - azure-devops

Please forgive me if this has already been asked or if it is just a stupid question. I am new to trying to setup my own repo and doing configuring. I am currently working with Microsoft TFS. I am using the free edition and I have most of it up and going. My question is, where is the repo being saved to. I am not using Git. Before anyone ask, I am not using Git has a starter, my next venture from this is to replicate my findings with Git. Is the repo being saved local on my machine, or is it in the cloud? Thanks in advance.

When you set up TFS, you configured a database. Everything about your TFS instance, including the source code, is stored there.
If you're using VS Team Services (https://YourProject.visualstudio.com), it's stored in the cloud.

Related

"Best Practices" doc for Devs reconfiguring Team Explorer when migrating Collection to new server?

I am planning to soon migrate a couple of Collections from a on premises TFS 2017 server to a on premises Azure DevOps 2019 server. These collections have multiple Git repos, no older VSTS style code repos.
I've found all sorts of good documents covering how to migrate the collection- and I am able to do that with ease. I took snapshots of my old and new servers and did a temporary test move over a weekend, everything came up just fine. I then reverted to the snapshots.
Does anyone know of a good document or URL for me to provide as instructions to my 20+ developers for them to reconfigure their Team Explorer in Visual Studio? The Collections on the old server will be detached, so there's no need for them to continue to have the old server configured. I don't want anyone to have to completely switch to the new server in a way where they lose any git branches that they only have local (not pushed up to the server.)
I myself only use TortoiseGit to interact with the git repos. I can see in my git repos, I go to the .git folder and change the URL in the file named "config" and the repo is switched over painlessly.
Almost all of the devs only use Team Explorer. If anyone knows of a good guide that I can walk them through with to make the switch from within Team Explorer instead of having to edit text files and registry keys, I appreciate it.
Thanks!
If I understand you correctly, you are looking for guides to connect your devs' Team Explorer in Visual Studio to the projects in the new on premises Azure DevOps 2019 server.
You can check the documents provided in Microsoft site Connect from Visual Studio or Team Explorer.
For more detailed steps you can check out this thread.
You can ask your devs to follow the steps in above thread to add the URL of the new server to Team Explorer. Then they can switch to code repo of new server.

Publishing TFS in the cloud

I've been testing TFS in the cloud, and have it all set up with a test project. Not using Git currently. My question is related to publishing to our remote server. I have a drive mapped and connect over VPN, and publishing via file system works. It appears that publishing occurs from my local solution, and not the solution in the central repository. This allows files that are checked out to be published to production. I had thought publishing would occur from the central repository, and only publish the files that are checked in.
Is the publishing process supposed to move the files from the central repo? Or, am I doing something wrong?
If not, are there controls in TFS to only publish approved/tested production files, and only files that are checked in? For example, prevent publishing and notify developer if files are checked out.
It's been a long time since I've used SCM, so bear with me. Thanks for your patience.
I think you need to investigate the build service built into TFS as this will let you generate builds using only the checked in source. A guide to doing this using the TFS cloud can be found here.

Easy Deployment with Github?

I searched the web now for several hours but couldn't get around this:
Is there an easy way to deploy a private repository from Github to a staging/development server on each push (or at least manually)? (Best would be if only FTP-data of development server would be needed for this).
I found this: How can I automatically deploy my app after a git push ( GitHub and node.js)? but this kind of "tutorial" in the best answer stops at the point of what exactly to insert into the build.sh. And what modules are needed for this on the development server? SSH, GIT, Ruby? Maybe this sounds stupid to you, or is a wrong thinking of mine, cause nowhere on the net I found any answer to this.
The problem is, that most time, the server on which the contents of the master branch should be deployed is on a shared hosting server, where you doesn't always have SSH, GIT, Python, Ruby, etc. on which most solutions for deploying from github seem to rely on... :/
http://beanstalkapp.com/ is really great at this, you can just enter FTP-Data and deploy automatically or manually for chosen repositories and branches. So I wondered why I couldn't find a similar easy way to deploy from Github?
Thank you very much in advance!
Jonas
It isn't really clear what type of project you have, but here are a couple of ideas.
If your code is written in a compiled language, then you could:
Have a Jenkins server as mentioned in the other comment
Write a simple script in bash that does a git pull and compile and add a cron job to it.
Use an automation framework like Chef or Puppet which would automatically keep the compiled binary up to date.
If your code is an interpreted language (like HTML & JavaScript), then you could:
Use vagrant for local testing. The biggest reason is that changes are live on your local system. It only takes a git push on your machine and a git pull on the production server to make your changes live globally.
Your best bet is probably going to be #2.

How do I set up my AWS EC2 Elastic Beanstalk project to collaborate with others?

I have been working on AWS EC2 using Elastic Beanstalk for a few months now. Everything is going well. Now, the client wants to add another developer to the project. I am a little unclear as to how to do this. It seems that Elastic Beanstalk is using git in the background and is push only. I can't clone the repo. I am not even sure where to go to find the repo.
So, my question is, how to I set things up (or have others set things up) so they can collaborate with me?
EDIT: I suppose another way of asking this question is: If Elastic Beanstalk has set up my Git repo for me, how to I check that Repo out and share it with others?
I am using Visual Studio 2010 (with AWS tools installed) on a Windows 7 machine and the remote instance is Windows.
Thanks.
Elastic Beanstalk doesn't have any concept of a repo. An application version is just bundle that's stored on S3.
What you'll have to do is host a repo at someplace like Github or Bitbucket. Then you share your changes as you would any other project. When it comes time to deploy a version to Elastic Beanstalk, you'd execute git aws.push rather than something like git push origin. Of course this assumes that you've already set up the AWS git dev tools.
As an aside, I'd recommend that you set up an IAM user account for each developer so everyone has their own set of AWS access keys. This would allow you to revoke deployment access to a person without affecting anyone else.

Organizing workflow with Mercurial and Netbeans (+ bitbucket.org?)

I've never worked with any version control systems before. Now I'm trying to learn Mercurial, but I'm confused (I've already read about 10-15 articles + hginit.com). I don't know how to organize the workflow.
I have a testing server and a production server. I work from my office computer and from my home laptop. I make changes directly on the testing server, and every week or so copy new code to my production server. I also need wiki/issues/etc. pretty much everything bitbucket.org has. I know that's a bad way of doing things.
Is there any tutorial or articles on how to organize the workflow? I'd also appreciate any schemes/sketches describing the process.
Thank you!
[Edit: Changed based on comments]
Using Bitbucket
Once you have created an account.
You should be able to create a repo with an appropriate url. Then you can clone it to create a local repository.
Check out getting started.
See the following to push the updates to BitBucket.
BitBucket comes with very extensive documentation.
Also there are, other useful tools to work with BitBucket:
BitbucketExtension that allows you to use command line for a number of operations.
Using Mercurial Queues and bitbucket.org
Organizing workflow
You will have to evolve a workflow that suits you. In your case, it looks like you have a testing server and production server.
So , you can setup two repositories, one for the testing server ad one for production. You can make push to testing server automatic so that you can test out the changes immediately. You can tag releases that are then pushed to production server.
Your local repo can be used to publish changes to testing server.
You can push the approved changes, tagged to BitBucket repository.