log access to code repo in visual studio online - azure-devops

When using visual studio online, we want to ensure that contractors or developer working on project could only check-in and check-out using our given laptops.
Has anyone found a way to restrict access to code from a certain machines in Visual studio Online?
Can we somehow log who checked code out and from which machine at what time?

There is currently no way to restrict access to VSO by IP address. It is something we are considering. What you can do is to enable two-factor authentication in your Azure Active Directory tenant.
There's no way to currently log who has checked out code. The closest you could get would be to periodically query for the workspaces in the account if you are using TFVC. There's no way for you to track clones of Git repos.

Related

Accessing Azure Devops on premises via Visual Studio

I had installed Azure Devops on our Windows 2019 server. The server has 5 users and all of them were created as local users on the server. I added these 5 users in Dev Ops project. Four of these users started using visual studio directly on the same server and have cloned project from on premises Azure dev ops. When they connected to the Azure dev ops server, they simply used User1, User2.... username and their windows password to connect to the Azure.
After a couple of weeks, we implemented Active Directory and added this server into the active directory group. The existing four users are still able to pull, push the same project. However, when the fifth user which never logged in now needs to connect to the Azure Dev Ops to clone the project. When he tries to connect via Visual Studio, the visual studio adds Domain into the user name e.g. DomainName\User5 and azure dev ops connectivity is not accepting his windows password. This user is not a domain user and is local to the server. This user can login to Azure Dev Ops when accessing it from browser, but unable to connect when trying it from Visual Studio.
Also, when I logged in directly to Azure Dev Ops (on premises) and try to add members to project, it does not show domain users. It only shows local server users.
Do I need to reinstall Azure dev ops, what should be the apprpriate way to fix this issue?
Thanks
When the fifth tried to use Visual Studio to connect the project, and access the project on web browser, did he do these things also directly on the same server machine?
Due the fifth user can access the project on web browser, the account of this user should not have issue. The problem seems occurs on Visual Studio when trying the authentication for the account.
Please try to check with the following things to see if the problem can be solved:
Check if the user has login to Visual Studio with his account.
Check if Visual Studio has saved or cached the account information of other users. If yes, clean the cache. Then login to Visual Studio with the fifth user's account.
When trying to connect to the project on Visual Studio, make sure the the selected user id the fifth user.
If the issue still exists, please share us with the details error message that the fifth user gets.

azure devops and VS 2017. mapping issues

I have two VS solutions (test and production), mapped to respective Devops repositories.
Everything was working well, until a network crash occurred. after intranet connection was restored, I realized that Devops test repository does not recognize pending changes to my VS test solution. Instead, mapping from VS production solution to Devops production repository seems to work correctly.
I tried to cancel and re-create mappings, but Im still facing that issue. how can I fix it?
thanks
Please try the following items:
Go to web portal, to see whether you can access the test repository as normal.
If you can access the test repository, check whether you use the same account to access the repository in VS.
Close all Visual Studio instances, delete %LOCALAPPDATA%.IdentityService.
Clear Azure Devops Service caches %LOCALAPPDATA%\Microsoft\Team Foundation\x.0\Cache.
Re-launch the VS and try to connect to service again.
Check how many workspace you have and whether you selected the correct workspace.

VSTS reporting capabilities

We're looking at moving from TFS to VSTS. However, one of the features I rely on is the ability to see which developers have got code checked out, when it's getting checked in, and to which branch. I need to see this at the collection level, not per project. Does this functionality exist in VSTS?
Tks
No such built-in features in Azure DevOps (VSTS).
However you can try below workarounds:
To see which developers have got code checked out, you can use the
tool Team Foundation Sidekicks which can retrieve the status
locked/checked out by other users. But the latest version is Version 6.0 only for Visual Studio 2015. Based on my test it's also available for VSTS. Please reference my answers in below threads:
Is there a way in Visual Studio and TFS to view items checked out to local workspaces?
List of checked out files
For when it's getting checked in, and to which branch, you have to
navigate to the specific repository to check the changesets which
include the history. You can also try calling the REST API
(Changesets - Get) to get the information.

How to manage workspaces of the entire team in Visual Studio Team Services Online?

We have this VSTS online account, and we want to see a list of all mapped workspaces of all users in one place.
We know that we can go to each developer's PC and use tf.exe workspaces to get the list of workspaces on that machine.
But we need to do it without going to each developer's PC. The reason we need this is that we suspect some team members use their credentials and map a workspace on a machine outside our company's environment, without our permission.
Is there a way to see all mapped workspaces in one central place?
The easiest way is to use something like Attrice TFS Sidekicks. It should work with VSTS, even if it doesn't say it does.
However, the more permanent solution is to set up conditional access in your Azure AD. That allows you to add restrictions so that your users cannot log in from outside your network.
(I know it's an old post, but researching for my own purposes...)
Extrapolating off of how to remove TFS workspace mapping for another user
The following worked for me:
>tf.exe workspaces /collection:https://contoso.visualstudio.com/ /owner:*

Is There A Way To Backup Visual Studio Team Services Projects?

I'm advocating using Visual Studio Team Services for our source control solution, and have actually started doing so. However, my manager, who is somewhat apprehensive when it comes to cloud-hosted storage and services, wants to know what our contingency plan is in the event of Team Services ceasing to be accessible for whatever reason.
I've pointed out that we have our source code on our developers' computers, in their mapped work spaces, but admittedly if we ended up with just that and no access to Team Services we'd certainly be in a bit of bind. They might all be working on different parts of the same solution and we wouldn't be able to check all of their changes back into the central repository or merge changes made in separate branches. We also wouldn't have access to the comments associated with previous check-ins, or our backlog, tests, etc.
So, the question is, is there a way to backup everything that we're hosting in Team Services so that, in the event of something going wrong, we'd be able to restore all of that to a locally-hosted installation of TFS (or somewhere else)?
I'm a bit late to the party but we developed a Team Services backup tool. We scheduled it as a scheduled task and it runs once a night. It then just clones all our repositories to disk.
Taken from this blog:
We use the VSO Rest API to query our VSO account and get all the data
we need. Since in VSO you can only have one Team Project Collection,
we retrieve all the team projects of the default collection. Each of
these team projects can have multiple repositories that need to be
backed up. A folder is created for each team project and saved to a
location on disk that can be configured in the app.config. When the
team project folder is created, the task loops over each repository in
the team project and creates folders for each repository.
You can also fork it on GitHub here
There's no out of the box backup ability.
Now, if you are only referring to source control, and not work items, pull requests, builds, test plans or anything else that the service offers, then I'd suggest you migrate your code over to git.
With git every developer will have a complete copy of the source repository, including all history and commit comments. From there, it's a simple task to push the git repository to a different git hoster (such as bitbucket or github) and make them your new centrally hosted git repository.
On a historical note, Visual Studio Team Services at one point offered a data export for a period of time. You might want to add a vote or three to this related UserVoice idea to help raise the importance of the feature with Microsoft.
Side comment: The business risks in using Visual Studio Team Services will come from either Microsoft shutting down the Visual Studio Team Services service or that the underlying Azure infrastructure has such a catastrophic failure that your Visual Studio Team Services account is unrecoverable. Both of those are extremely low risk, and very likely lower than the risks you'd have running TFS on-premises, in your own data centre, unless of course, your infrastructure and staff are better than Microsoft's :-)
Not a full VS backup in terms of a restore of service. But you can take a full Zip from root down using the Code web site. Right click the root folder and has a zip download option. Pretty neat feature.
The easiest way to back up everything is to use something like the TFS Integration Platform to periodically pull off all your data into an on-premises TFS solution. I've set this up using an Azure VM that we turned off when we weren't actively backing up, which makes it really low cost. For more info on using the TFS IP with Team Services, see this: http://nakedalm.com/migration-from-tf-service-to-tf-server-with-the-tfs-integration-platform/