Host Open Source Software Repositories in VSTS using Public Projects

Visual Studio Team Services or VSTS has launched the concept of Public Projects to help with Open Source code hosting. A Public Project is just like any other project in the VSTS. However, it allows non members of a project and users who aren’t signed in to the project, read-only, limited access to the project’s artifacts and services. This allows anonymous users to be able to view the contents of that project in a read-only state enabling collaboration with anonymous (un-authenticated) users that wasn’t possible before.

Public projects can be added to an existing organization or VSTS account or any existing project can also be made public by changing project’s visibility settings. 

If you are managing an Open Source Software (OSS) project, then you can use VSTS public projects to automatically build and validate every pull request and commit to your repository. Not only this, you can also share the build logs. This will allow you to determine in advance, if any of the pull requests are safe or not and also allows users to check the logs and quickly fix if any issues.

Public projects are an entirely opt-in experience in which account administrators have full control over who can enable this functionality. The default for existing VSTS accounts will be private; the account administrator will need to first enable Public Project support for the account and then specially set an individual project to be public.

Convert an existing project to Public Project

First we need to allow anyonymous access on the organization level. Go to Your VSTS account and from gear icon, select Admin Settings:

Select admin settings at organizational level
Select admin settings at organizational level

Now go to the policies section, select anonymous authentication to On:

Set anonymous authentication to On
Set anonymous authentication to On

Now, we can create either a new public project or mark existing project as public.

Creating a new Public Project

For this, create a new project from Create Project option:

Create a new project by using create project button
Create a new project by using create project button

Fill the information asked and select visibility as public:

Set visibility option to Public
Set visibility option to Public

Mark existing project as Public

For this, open Project Settings and go to overview tab in the general section. Edit visibility settings and select public:

Change project visibility from private to public
Change project visibility from private to public

Now, review the information provided and click change:

Review the information for the project
Review the information for the project

After this, you can share your project url with the anonymous users. Not only this, you can also invite users to join your project. They would also be able t download / upload source code, view work items and submit pull requests. These pull request can be build and completed in VSTS hosted agents as well for no charge. In fact it is recommended to use VSTS hosted agents instead of private agents as they are destroyed after each build.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s