How to allow external users to fork project in gitlab? - fork

External user is not allowed to fork project as create project permission is not allowed for them.
Personal projects limit=0 and it cannot be changed.
How to allow external users to fork project in gitlab?

There is an opened issue (2 years ago) on the GitLab website:
Issue #15173

Looks like this issue has been fixed -- I was able to increase the project level for an external user, and confirmed the user was able to fork to their personal project space.

Related

Gitlab fork option greyed out

The fork option is greyed out for me I have developer access what do I do?
I’m told for importing to github to look for the project url e.g
I also don't see that button in the first image do I have to fork first? Also, if so do pulls using github desktop automatically pull to the main branch in gitlab, or do I need to pull in gitlab as well.
What is the least technical way of using gitlab?
The fork option in your project probably been disabled. This setting can be changed in the Project:
Settings -> General -> Visibility, project features, permissions
However you need to be a Maintainer or above.
If you want to import a GitLab project to GitHub, see Transfer git repositories from GitLab to GitHub - can we, how to and pitfalls (if any)?

Assign existing Gitlab runner to new project

So, I have owner privileges on some group in Gitlab (not privately hosted instance), and there is a registered runner that I want to assign to a new project in order to use it for CD (It is in use on other projects I am an owner at). However, I don't see it in CI/CD runners settings even though it is not locked for one project. I was also trying this https://docs.gitlab.com/ee/api/runners.html#enable-a-runner-in-project solution (API call) Gitlab provides but it seems like the runner does not exist (generic error, it says the page does not exist or I have no permission).
I thought it might be a permissions problem but it doesn't make sense (or does it?) because I have owner privileges. In docs they say:
"If you are Master on a project where a specific Runner is assigned to, and the Runner is not locked only to that project, you can enable the Runner also on any other project where you have Master permissions.
To enable/disable a Runner in your project:
Visit your project's Settings > CI/CD
Find the Runner you wish to enable/disable
Click Enable for this project or Disable for this project"
and well, I can't find it. Does it sound like a bug/mistake on docs or my lack of knowledge? And if it is my lack of knowledge, do you have any ideas for possible solutions?
TL;DR:
It seems like some kind of group permissions bug.
A possible workaround is to create another user and invite him to a project that uses that specific runner, as master (not owner), and then invite him to the project you want to assign that specific runner to. then, you will have that runner available under specific runners.
Ok, it seems to be a problem with gitlab/gitlab-runner permissions, or just a rather strange behavior. This is what someone wrote in the issues section of the project ( https://gitlab.com/gitlab-org/gitlab-runner/issues/1322 ):
"Consider the following setup:
user_A is owner of project_1, runner_R is registered with project_1's token
user_A is owner of project_2
--> runner_R is NOT visible to user_A from project_2
user_A is promoted master of project_1
--> runner_R is now visible to user_A from project_2
hence my conclusions:
i don't need to be master of a project to select a runner from a project i own, being an owner works too
being a project owner is not sufficient for a project's runner to be visible to me from another project, i need to be master of the project where the runner was registered"
I hope it might be helpful to someone facing the same problem as me.

SonarQube 6.7: how do no-admin users create a project?

I have just installed SonarQube 6.7 and I am creating users for my colleagues, who would like to create a project from their source code hosted on GitHub repositories.
So far I did not find a way to let users create a project, without setting them as system administrator. Apparently a project is created indeed from the Create Project button on the Administration > Projects > Management page as reported in the official documentation.
Unfortunately in this way, most users should be set as admin if they want to create projects: therefore they will be able to manage the users and the whole system. As you can imagine it is not ideal situation, when a lot of administrators on a system.
How can users be able to create a project without having admin privileges over the whole system (configuration, security, users, etc.)?
I thank you in advance for your help!
Your users need the Create Projects global permission. You can grant this individually or by putting them in a group and giving the group the permission.
They'll need the Execute Analysis global permission as well (another argument for using a group). Once these permissions are granted, they'll be able to analyze projects. Any project that doesn't already exist will be created in SonarQube on the first analysis.
Vittorio C. I have the same issue as you in the SonarQube 6.7.
Issue: few options will not show up for example "create projects under global permissions"
Resolution: Just search the "create user"s in the search window( shown in the screenshot) and it will start appearing.
Also if you think any option is not appearing but which ideally should, you can apply the same trick.
for example with maven, mvn package sonar:sonar will create project if no exist in sonarqube. If you want to create it before first use you can use web api, for example have a look at https://next.sonarqube.com/sonarqube/web_api/api/projects/create If i'm not wrong the create API is open to everyone.

Xcode project syncing over cloud service

I'm developing an iOS app on two different Macs. I have a local git repo setup in xcode. Every time I switch Macs, I download the most recent xcode project folder from my backup cloud service, SugarSync. SugarSync automatically uploads any changes I make to the project to the cloud.
Is this unstable, or just simply a bad practice? Is there a better way to build a project on multiple computers for only one developer?
I would suggest using github for something like this. You could push from one machine and pull from the other would would accomplish the same thing you are doing now.
BUT doing what you are doing now should still work, I've done the same with Dropbox in the past.

How do you set up github version control for a team of two?

We're trying to set up github version control for a Jsp-project in NetBeans 7.0.1. The problem is we don't have a clue what to do. I Have set up a public account on github and done all the steps in the install guide on github, ssh keys and everything. So if I wanted to work on my own in this project I wouldn't have a problem.
The problem is how to get my collaborator started. He has an account on github. he set it up with ssh keys and such. In the admin view on github I added him as a collaborator, but we don't know the next step.
So the question is how to connect the collaborator to the project? something like this I suppose?
git remote add origin git#github.com:username/Hello-World.git
git pull
(another question: Do I git only the source files or the whole project folder?)
Regarding your second question... That's a tough one.
A few months ago I was working with a colleague on a JavaEE project and we initially decided to share the whole Eclipse project. Since I was working on Windows and he was working on Linux, we had much trouble maintaining everything. Also we had to make sure that we don't accidentally push up our .project dir, because that would overwrite the settings on the other persons machine, messing up the whole project. So we ended up removing all the project files from the repository and just keeping the source folders (src and WebContent).
Both of us set up an empty project, made our settings and than imported the source code from the repository. Was some trouble setting it up until everybody had the same project settings, but afterwards it worked like a charm.
For just two developers that is fine, I guess for a bigger team, there might be better solutions.
So, I guess Netbeans handles the project settings in a similar way. So in my opinion you should just share the code.
For the first access, what your collaborator should be able to do is a git clone of your repository.
That will set for him the remote address.
If he is declared as a collaborator, he then should be able to push/pull to that remote repo.
Note that your collaborator should have received a push notification access.

Resources