diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/README.md | 40 | ||||
| -rw-r--r-- | doc/install/installation.md | 3 | ||||
| -rw-r--r-- | doc/integration/external-issue-tracker.md | 2 | ||||
| -rw-r--r-- | doc/integration/ldap.md | 14 | ||||
| -rw-r--r-- | doc/release/monthly.md | 4 | ||||
| -rw-r--r-- | doc/release/security.md | 2 | ||||
| -rw-r--r-- | doc/update/6.0-to-6.7.md | 3 | ||||
| -rw-r--r-- | doc/update/6.6-to-6.7.md | 3 | ||||
| -rw-r--r-- | doc/update/upgrader.md | 7 | ||||
| -rw-r--r-- | doc/workflow/README.md | 2 | ||||
| -rw-r--r-- | doc/workflow/project_features.md | 35 |
11 files changed, 93 insertions, 22 deletions
diff --git a/doc/README.md b/doc/README.md index d85a2d854d3..dfa3211d01b 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,18 +1,24 @@ -## The GitLab Documentation covers the following subjects +**User documentation** -+ [API](api/README.md) -+ [Development](development/README.md) -+ [Install](install/README.md) -+ [Integration](integration/external-issue-tracker.md) -+ [Legal](legal/README.md) -+ [Markdown](markdown/markdown.md) -+ [Permissions](permissions/permissions.md) -+ [Public access](public_access/public_access.md) -+ [Raketasks](raketasks/README.md) -+ [Release](release/README.md) -+ [Security](security/README.md) -+ [SSH](ssh/README.md) -+ [System hooks](system_hooks/system_hooks.md) -+ [Update](update/README.md) -+ [Web hooks](web_hooks/web_hooks.md) -+ [Workflow](workflow/workflow.md) ++ [API](api/README.md) Explore how you can access GitLab via a simple and powerful API. ++ [Markdown](markdown/markdown.md) Learn what you can do with GitLab's advanced formatting system. ++ [Permissions](permissions/permissions.md) Learn what each role in a project (guest/reporter/developer/master/owner) can do. ++ [Public access](public_access/public_access.md) Learn how you can allow public and internal access to a project. ++ [SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects. ++ [Web hooks](web_hooks/web_hooks.md) Let GitLab notify you when new code has been pushed to your project. ++ [Workflow](workflow/workflow.md) Learn how to use Git and GitLab together. + +**Administrator documentation** + ++ [Install](install/README.md) Requirements, directory structures and manual installation. ++ [Integration](integration/external-issue-tracker.md) How to integrate JIRA and Redmine. ++ [Raketasks](raketasks/README.md) Explore what GitLab has in store for you to make administration easier. ++ [System hooks](system_hooks/system_hooks.md) Let GitLab notify you when certain management tasks need to be carried out. ++ [Security](security/README.md) Learn what you can do to further secure your GitLab instance. ++ [Update](update/README.md) Update guides to upgrade your installation. + +**Contributor documentation** + ++ [Development](development/README.md) Explains the architecture and the guidelines for shell commands. ++ [Legal](legal/README.md) Contributor license agreements. ++ [Release](release/README.md) How to make the monthly and security releases. diff --git a/doc/install/installation.md b/doc/install/installation.md index addb21b50e0..bc194d33927 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -93,7 +93,7 @@ Then select 'Internet Site' and press enter to confirm the hostname. # 2. Ruby -The use of ruby version managers such as [RVM](http://rvm.io/), [rbenv](https://github.com/sstephenson/rbenv) or [chruby](https://github.com/postmodern/chruby) with GitLab in production frequently leads to hard to diagnose problems. Version managers are not supported and we stronly advise everyone to follow the instructions below to use a system ruby. +The use of ruby version managers such as [RVM](http://rvm.io/), [rbenv](https://github.com/sstephenson/rbenv) or [chruby](https://github.com/postmodern/chruby) with GitLab in production frequently leads to hard to diagnose problems. For example, GitLab Shell is called from OpenSSH and having a version manager can prevent pushing and pulling over SSH. Version managers are not supported and we stronly advise everyone to follow the instructions below to use a system ruby. Remove the old Ruby 1.8 if present @@ -202,6 +202,7 @@ You can change `6-6-stable` to `master` if you want the *bleeding edge* version, # Create directory for satellites sudo -u git -H mkdir /home/git/gitlab-satellites + sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites # Create directories for sockets/pids and make sure GitLab can write to them sudo -u git -H mkdir tmp/pids/ diff --git a/doc/integration/external-issue-tracker.md b/doc/integration/external-issue-tracker.md index 3212ebd64b5..6b34826da52 100644 --- a/doc/integration/external-issue-tracker.md +++ b/doc/integration/external-issue-tracker.md @@ -2,7 +2,7 @@ GitLab has a great issue tracker but you can also use an external issue tracker - the 'Issues' link on the GitLab project pages takes you to the appropriate JIRA issue index; - clicking 'New issue' on the project dashboard creates a new JIRA issue; -- textual references to PROJECT-1234 in comments, commit messages get turned into HTML links to the corresponding JIRA issue. +- To reference JIRA issue PROJECT-1234 in comments, use syntax #PROJECT-1234. Commit messages get turned into HTML links to the corresponding JIRA issue.  diff --git a/doc/integration/ldap.md b/doc/integration/ldap.md new file mode 100644 index 00000000000..b52c4a4b5e4 --- /dev/null +++ b/doc/integration/ldap.md @@ -0,0 +1,14 @@ +# GitLab LDAP integration + +GitLab can be configured to allow your users to sign with their LDAP credentials to integrate with e.g. Active Directory. +The first time a user signs in with LDAP credentials, GitLab will create a new GitLab user associated with the LDAP Distinguished Name (DN) of the LDAP user. +GitLab user attributes such as nickname and email will be copied from the LDAP user entry. + +## Enabling LDAP sign-in for existing GitLab users + +When a user signs in to GitLab with LDAP for the first time, and their LDAP email address is the primary email address of an existing GitLab user, then the LDAP DN will be associated with the existing user. +If the LDAP email attribute is not found in GitLab's database, a new user is created. + +In other words, if an existing GitLab user wants to enable LDAP sign-in for themselves, they should check that their GitLab email address matches their LDAP email address, and then sign into GitLab via their LDAP credentials. +GitLab recognizes the following LDAP attributes as email addresses: `mail`, `email` and `userPrincipalName`. +If multiple LDAP email attributes are present, e.g. `mail: foo@bar.com` and `email: foo@example.com`, then the first attribute found wins -- in this case `foo@bar.com`. diff --git a/doc/release/monthly.md b/doc/release/monthly.md index 08149b4da86..2949e320f3c 100644 --- a/doc/release/monthly.md +++ b/doc/release/monthly.md @@ -61,9 +61,9 @@ After making the release branch new commits are cherry-picked from master. When * 1-7th: official merge window (see contributing guide) * 8-14th: work on bugfixes, sponsored features and GitLab EE * 15th: code freeze (stop merging into master except essential bugfixes) -* 18th: release candidate 1 (VERSION x.x.0.rc1, tag and tweet about x.x.0.rc1, release on GitLab Cloud) +* 18th: release candidate 1 (VERSION x.x.0.rc1, annotated tag and tweet about x.x.0.rc1, release on GitLab Cloud) * 20st: optional release candidate 2 (x.x.0.rc2, only if rc1 had problems) -* 22nd: release (VERSION x.x.0, create x-x-stable branch, tag, blog and tweet) +* 22nd: release (VERSION x.x.0, create x-x-stable branch, annotated tag tag, blog and tweet) * 23nd: optional patch releases (x.x.1, x.x.2, etc., only if there are serious problems) * 24-end of month: release GitLab EE and GitLab CI diff --git a/doc/release/security.md b/doc/release/security.md index 8e5a7e32099..56a44b5d1da 100644 --- a/doc/release/security.md +++ b/doc/release/security.md @@ -18,7 +18,7 @@ Please report suspected security vulnerabilities in private to support@gitlab.co 1. Create feature branches for the blog post on GitLab.com and link them from the code branch 1. Merge the code feature branch into master 1. Cherry-pick the code into the latest stable branch -1. Create a git tag vX.X.X for CE and another patch release for EE +1. Create an annotated tag vX.X.X for CE and another patch release for EE 1. Push the code and the tags to all the CE and EE repositories 1. Apply the patch to GitLab Cloud and the private GitLab development server 1. Merge and publish the blog posts diff --git a/doc/update/6.0-to-6.7.md b/doc/update/6.0-to-6.7.md index 5023e34f189..aa1b388fa9a 100644 --- a/doc/update/6.0-to-6.7.md +++ b/doc/update/6.0-to-6.7.md @@ -80,6 +80,9 @@ sudo -u git -H bundle exec rake migrate_iids RAILS_ENV=production # Clean up assets and cache sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production + +# Close access to gitlab-satellites for others +sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites ``` ### 6. Update config files diff --git a/doc/update/6.6-to-6.7.md b/doc/update/6.6-to-6.7.md index 8a16e5d67be..0f39c037c9f 100644 --- a/doc/update/6.6-to-6.7.md +++ b/doc/update/6.6-to-6.7.md @@ -63,6 +63,9 @@ sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab # Update the logrotate configuration (keep logs for 90 days instead of 52 weeks) sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab + +# Close access to gitlab-satellites for others +sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites ``` diff --git a/doc/update/upgrader.md b/doc/update/upgrader.md index 305ef961be5..fd45154ac82 100644 --- a/doc/update/upgrader.md +++ b/doc/update/upgrader.md @@ -40,3 +40,10 @@ To make sure you didn't miss anything run a more thorough check with: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production If all items are green, then congratulations upgrade is complete! + + +### One line upgrade command + +You've read through the entire guide, and probably did all the steps manually. Here is a one liner for convenience, the next time you upgrade: + + cd /home/git/gitlab; sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production; sudo service gitlab stop; sudo -u git -H ruby script/upgrade.rb -y; sudo service gitlab start; sudo service nginx restart; sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production diff --git a/doc/workflow/README.md b/doc/workflow/README.md new file mode 100644 index 00000000000..efc28d06e71 --- /dev/null +++ b/doc/workflow/README.md @@ -0,0 +1,2 @@ ++ [Workflow](workflow/workflow.md) ++ [Project Features](workflow/project_features.md) diff --git a/doc/workflow/project_features.md b/doc/workflow/project_features.md new file mode 100644 index 00000000000..25fe4032570 --- /dev/null +++ b/doc/workflow/project_features.md @@ -0,0 +1,35 @@ +When in a Project -> Settings, you will find Features on the bottom of the page that you can toggle. +Below you will find a more elaborate explanation of each of these. + + +## Issues + +Issues is a really powerful, but lightweight issue tracking system. +You can make tickets, assign them to people, file them under milestones, order them with labels and have discussion in them. +They integrate deeply into GitLab and are easily referenced from anywhere by using # and the issuenumber. +At GitLab.com, we use this for all our project management needs. + +## Merge Requests + +Using a merge request, you can review and discuss code before it is merged in the branch of your code. +As with issues, it can be assigned; people, issues, etc. can be refereced; milestones attached. +We see it as an integral part of working together on code and couldn't work without it. + + +## Wiki + +This is a separate system for documentation, built right into GitLab. +It is source controlled and is very convenient if you don't want to keep you documentation in your source code, but you do want to keep it in your GitLab project. + + +## Wall + +For simple, project specific conversations, the wall can be used. +It's very lightweight and simple and works well if you're not interested in using issues, but still want to occasionally communicate within a project. + + +## Snippets + +Snippets are little bits of code or text. +This is a nice place to put code or text that is used semi-regularly within the project, but does not belong in source control. +For example, a specific config file that is used by > the team that is only valid for the people that work on the code. |
