Gitlab: Working with multiple Users - gitlab

I have created a gitlab repo and also have set up SSH keys. I can push my changes to the repo. When another developer wants to contribute to the same repo (project), how can I set up Gitlab so that he can also work with the repository. I would be glad if someone can give me instructions as to how to do that as steps.

He is going to need to setup his own SSH key or you will need to give him one of the private keys if that's the route you want to go...
Otherwise, you could just invite him to edit the repo (assuming he has an account). To navigate to those settings go to your desired project repository in your web browser, and find the "Settings" menu on the left side. Inside there, you will see "Members". There you can enter the developer's credentials to allow him access to the repo.

Related

Azure Repos - allow co-workers to submit without pushing

I created an Azure repos (the first of my life ;-) and I have invited people to work on the project. They have a microsoft account. This is the free Azure environment.
I want to be notified when they submit their work and accept or reject it before I accept to commit the modification in the branches.
I am confused about the amount of working group options and I did not found the way to do what I want!
Does someone know what configuration must be done with their accounts / the Azure authorizations ?
Found :
Go to the Azure project settings and in the left column, click on repositories. Then, change the authorizations given to the groups - developpers. You can now allow contributors to check in but if you do so, they can check in and I have no way to accept or reject the modification. In the other way, if you select deny to push in, they cannot push anything at all.
Git on azure allows for code validation before to commit. TFS Doesn't. A work around is to create a pullrequest folder where contributors are allowed to push in and be notified each time someone pushes their code in it. Verify and then merge / push in the corresponding branch.

Hide repositories from menu on a project on Azure DevOps

I want to hide two repositories (App 1 and 2 below) from the menu on a project on Azure DevOps.
Select a project -> Repos -> below
The reason is that App 1 and 2 have code, but are not being used at the moment. So we will show them in the future. Thus, we want the ability to show/hide them.
Any idea?
You can go in your azure devops setting to edit your repository settings.
In this page you can manage all security options and allow specific user to work with your branches.
Some documentation from Microsoft website :
https://learn.microsoft.com/en-us/azure/devops/organizations/security/set-git-tfvc-repository-permissions?view=vsts&tabs=new-nav
I found out that you can disable the repository. This will keep listing your disabled repositories but no one can access them. Instead, the repository page just warns about its disabled status (see the picture below).
See this article that brings more detail and is the source of the images below.

How to block access to all VSTS accounts except our work VSTS account

My company want to get VSTS. But they do not want users to be able to access their personal VSTS accounts at work. They are concerned that users will upload source code to their personal VSTS accounts and download it at home. Or worse, they are worried that users can upload a virus to their personal VSTS account, come into work and download it. I'm sure everyone will understand why they want to do this.
Without getting into ethical reasons about how companies need to trust employees etc......They want to stop this or reduce this as much as possible.
Is there any guidance on how to achieve this?
One solution is to maybe block *.visualstuido.com but whitelist only our company VSTS account? This is messy because there will be a bunch of other visualstudio.com urls that we will need to access such as {accountname}.vsrm.visualstudio.com.
There is no way for us to know all the urls that we will need to allow access if we block *.visualstudio.com
any advice is appreciated!
I don’t think you can achieve it. There are many ways that can store/download the source code except VSTS, such as github. Users also can upload/download the source code through email. So you can’t prevent them to do it unless block to access internet.
The simple way is that:
Build an intranet network
Clone VSTS repository to a shared folder
Others work with that repository (commit changes to that repository)
Push changes to VSTS by yourself or build the app to track repository and push commits automatically.

How to make changes in an Azure App Service, when you have lost all the local data of the project?

I've been working in a web page and I´ve already upload that page as an app service in azure, but my local machine has crashed and I have lost all my local data, and I don't know how to make new changes into my web page.
I already access to my azure account from visual studio, and I can see my source code, but the changes are no getting stored into the live web page.
I already access to my azure account from visual studio, and I can see my source code, but the changes are no getting stored into the live web page.
According to your description, if you just want to change and store the codes in the azure, I suggest you could access the source code by using Kudu tools.
You could open it by add "scm" in the websites url like below:
http://{yourwebappservicename}.scm.azurewebsites.net/
Then you could click the cmd button and you could find your project files like below:
Then you could locate your web sites files as below path.
site-->wwwrot-->youfiles
If you want to change its content you could click below button.
After changing the file's code, you could click the save button.
If you want to change the code and rebuild the application, you could only download the code to the local.
One way is using FTP to access the azure folder and copy it to local.
Another way is you could clone the whole web sites form the azure to your local visual studio by using VS team explorer.
Besides, I suggest you could use some online source code tool(Like GitHub and VSTS) to help you manage your projects.
More details about how to use local git to clone the whole application to local, you could refer to below steps.
1.Fistly set your deployment username and password.
2.Enable local git:
3.Find the git url in the overview.
4.Open the teamview explorer in the VS.
5.Copy the gir url and click clone button.
6.Then it will show the windows to type the deployment username and password in step one.
Then you could double click the local git, you will find all files are clone to your local.

Second FTP account for file accessing not possible, is there a workaround?

I am trying to give a designer access to specific folders within an Azure website I have. I would like for the designer to have access via FTP. However, according to this post, having multiple FTP user accounts on the same Azure website is not possible and the accepted answer suggests coming up with a "different way to manage" the website. This means that if you want collaboration on an Azure website, you have to share the entire directory structure. Please correct me if I am wrong.
I know you can download the Publish Profile settings from Azure as seen on this post. This does not solve the issue as the publish profile simple gives you the FTP credentials for a specific website (instead of all of your Azure websites) but still does not provide the option to create new FTP users with limited directory permissions.
So, my question is: is there some way to edit the Publish Profile settings when they are downloaded so folder access is limited? If not, what methods have you used for website development collaboration on Azure where certain folders should be hidden and protected?
For collaborative work with Azure Websites, you can enable source control. This includes tfs, git, dropbox, bitbucket, and codeplex. Dropbox is not the best collaborative tool, as it's not designed to be a version control system, but it's very convenient.
If you have a repository with any of the abovementioned providers, you can now give your designer their own account with the version control system.
You guys are right about using a source control system like GitHub instead of trying to provide access by creating a second FTP user.
Others have asked this question - not in the context of azure though.
This post talks about using submodules on github to give a contractor access to a subfolder and all folders / files under that sub folder.
SO - I believe linking azure to github would be necessary and then from there, creating and managing submodules from github would allow for collaboration. I believe a required aspect of this would be to have a private repo on github for the main repo. All of the files in the repo would otherwise be available for forking which would defeat the entire purpose of maintaining some discretion on access rights in the first place.

Resources