BigW Consortium Gitlab

Commit c0e13125 by Jacob Vosmaer

Merge branch 'master' of github.com:gitlabhq/gitlabhq

parents 15eaeb8e 95336ac0
......@@ -5,7 +5,7 @@
.bs-callout.bs-callout-info
%p Protected branches designed to
%ul
%li prevent push for all except #{link_to "masters", help_page_path("permissions", "permissions"), class: "vlink"}.
%li prevent push for all except #{link_to "masters", help_page_path("permissions", "permissions"), class: "vlink"}
%li prevent branch from force push
%li prevent branch from removal
%p Read more about project permissions #{link_to "here", help_page_path("permissions", "permissions"), class: "underlined-link"}
......
......@@ -132,14 +132,14 @@ When listing resources you can pass the following parameters:
## id vs iid
When you work with API you may notice two similar fields in api entites: id and iid. The main difference between them is scope. Example:
When you work with API you may notice two similar fields in api entities: id and iid. The main difference between them is scope. Example:
Issue:
id: 46
iid: 5
- id - is uniq across all Issues table. It used for any api calls.
- iid - is uniq only in scope of single project. When you browse issues or merge requests with Web UI - you see iid.
- id - is unique across all issues. It's used for any api call.
- iid - is unique only in scope of a single project. When you browse issues or merge requests with Web UI, you see iid.
So if you want to get issue with api you use `http://host/api/v3/.../issues/:id.json`. But when you want to create a link to web page - use `http:://host/project/issues/:iid.json`
......@@ -174,7 +174,7 @@ Parameters:
- `id` (required) - The ID of a project
- `branch_name` (required) - The name of the branch
- `ref` (required) - Create branch from commit sha or existing branch
- `ref` (required) - Create branch from commit SHA or existing branch
```json
{
......
......@@ -49,7 +49,7 @@ Parameters:
+ `id` (required) - The ID of a project
+ `tag_name` (required) - The name of a tag
+ `ref` (required) - Create tag using commit sha, another tag name, or branch name.
+ `ref` (required) - Create tag using commit SHA, another tag name, or branch name.
```json
[
......@@ -129,7 +129,7 @@ Parameters:
## Raw file content
Get the raw file contents for a file by commit sha and path.
Get the raw file contents for a file by commit SHA and path.
```
GET /projects/:id/repository/blobs/:sha
......@@ -144,7 +144,7 @@ Parameters:
## Raw blob content
Get the raw file contents for a blob by blob sha.
Get the raw file contents for a blob by blob SHA.
```
GET /projects/:id/repository/raw_blobs/:sha
......@@ -153,7 +153,7 @@ GET /projects/:id/repository/raw_blobs/:sha
Parameters:
+ `id` (required) - The ID of a project
+ `sha` (required) - The blob sha
+ `sha` (required) - The blob SHA
## Get file archive
......@@ -166,7 +166,7 @@ GET /projects/:id/repository/archive
Parameters:
+ `id` (required) - The ID of a project
+ `sha` (optional) - The commit sha to download defaults to the tip of the default branch
+ `sha` (optional) - The commit SHA to download defaults to the tip of the default branch
## Compare branches, tags or commits
......@@ -177,15 +177,15 @@ GET /projects/:id/repository/compare
Parameters:
+ `id` (required) - The ID of a project
+ `from` (required) - the commit sha or branch name
+ `to` (required) - the commit sha or branch name
+ `from` (required) - the commit SHA or branch name
+ `to` (required) - the commit SHA or branch name
```
GET /projects/:id/repository/compare?from=master&to=feature
```
Response:
Response:
```json
......
......@@ -22,7 +22,7 @@ To serve repositories over SSH there's an add-on application called gitlab-shell
![GitLab Diagram Overview](gitlab_diagram_overview.png)
A typical install of GitLab will be on Ubuntu Linux or RHEL/CentOS. It uses Nginx or Apache as a web front end to proxypass the Unicorn web server. By default, communication between Unicorn and the front end is via a Unix domain socket but forwarding requests via TCP is also supported. The web front end accesses `/home/git/gitlab/public` bypassing the Unicorn server to serve static pages, uploads (e.g. avatar images or attachments), and precompiled assets. GitLab serves web pages and a [GitLab API](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/api) using the Unicorn web server. It uses Sidekiq as a job queue which, in turn, uses redis as a non-persistent database backend for job information, meta data, and incomming jobs.
A typical install of GitLab will be on Ubuntu Linux or RHEL/CentOS. It uses Nginx or Apache as a web front end to proxypass the Unicorn web server. By default, communication between Unicorn and the front end is via a Unix domain socket but forwarding requests via TCP is also supported. The web front end accesses `/home/git/gitlab/public` bypassing the Unicorn server to serve static pages, uploads (e.g. avatar images or attachments), and precompiled assets. GitLab serves web pages and a [GitLab API](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/api) using the Unicorn web server. It uses Sidekiq as a job queue which, in turn, uses redis as a non-persistent database backend for job information, meta data, and incoming jobs.
The GitLab web app uses MySQL or PostgreSQL for persistent database information (e.g. users, permissions, issues, other meta data). GitLab stores the bare git repositories it serves in `/home/git/repositories` by default. It also keeps default branch and hook information with the bare repository. `/home/git/gitlab-satellites` keeps checked out repositories when performing actions such as a merge request, editing files in the web interface, etc.
......@@ -38,7 +38,7 @@ To summarize here's the [directory structure of the `git` user home directory](.
ps aux | grep '^git'
GitLab has several components to operate. As a system user (i.e. any user that is not the `git` user) it requires a persistent database (MySQL/PostreSQL) and redis database. It also uses Apache httpd or nginx to proxypass Unicorn. As the `git` user it starts Sidekiq and Unicorn (a simple ruby HTTP server running on port `8080` by default). Under the gitlab user there are normally 4 processes: `unicorn_rails master` (1 process), `unicorn_rails worker` (2 processes), `sidekiq` (1 process).
GitLab has several components to operate. As a system user (i.e. any user that is not the `git` user) it requires a persistent database (MySQL/PostreSQL) and redis database. It also uses Apache httpd or nginx to proxypass Unicorn. As the `git` user it starts Sidekiq and Unicorn (a simple ruby HTTP server running on port `8080` by default). Under the GitLab user there are normally 4 processes: `unicorn_rails master` (1 process), `unicorn_rails worker` (2 processes), `sidekiq` (1 process).
### Repository access
......@@ -53,28 +53,28 @@ See the README for more information.
The GitLab init script starts and stops Unicorn and Sidekiq.
```
/etc/init.d/gitlab
/etc/init.d/gitlab
Usage: service gitlab {start|stop|restart|reload|status}
```
Redis (key-value store/non-persistent database)
```
/etc/init.d/redis
/etc/init.d/redis
Usage: /etc/init.d/redis {start|stop|status|restart|condrestart|try-restart}
```
SSH daemon
```
/etc/init.d/sshd
/etc/init.d/sshd
Usage: /etc/init.d/sshd {start|stop|restart|reload|force-reload|condrestart|try-restart|status}
```
Web server (one of the following)
```
/etc/init.d/httpd
/etc/init.d/httpd
Usage: httpd {start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}
$ /etc/init.d/nginx
......@@ -84,7 +84,7 @@ Usage: nginx {start|stop|restart|reload|force-reload|status|configtest}
Persistent database (one of the following)
```
/etc/init.d/mysqld
/etc/init.d/mysqld
Usage: /etc/init.d/mysqld {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
$ /etc/init.d/postgresql
......
......@@ -86,7 +86,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. 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.
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 strongly advise everyone to follow the instructions below to use a system ruby.
Remove the old Ruby 1.8 if present
......@@ -107,7 +107,7 @@ Install the Bundler Gem:
## 3. System Users
Create a `git` user for Gitlab:
Create a `git` user for GitLab:
sudo adduser --disabled-login --gecos 'GitLab' git
......@@ -232,9 +232,9 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da
### Install GitLab shell
GitLab Shell is an ssh access and repository management software developed specially for GitLab.
GitLab Shell is an SSH access and repository management software developed specially for GitLab.
# Go to the Gitlab installation folder:
# Go to the GitLab installation folder:
cd /home/git/gitlab
# Run the installation task for gitlab-shell (replace `REDIS_URL` if needed):
......@@ -269,7 +269,7 @@ And if you are installing with a non-default folder or user copy and edit the de
sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
If you installed gitlab in another directory or as a user other than the default you should change these settings in /etc/default/gitlab. Do not edit /etc/init.d/gitlab as it will be changed on upgrade.
If you installed GitLab in another directory or as a user other than the default you should change these settings in `/etc/default/gitlab`. Do not edit `/etc/init.d/gitlab as it will be changed on upgrade.
Make GitLab start on boot:
......@@ -372,7 +372,7 @@ If you want to connect the Redis server via socket, then use the "unix:" URL sch
### Custom SSH Connection
If you are running SSH on a non-standard port, you must change the gitlab user's SSH config.
If you are running SSH on a non-standard port, you must change the GitLab user's SSH config.
# Add to /home/git/.ssh/config
host localhost # Give your setup a name (here: override localhost)
......@@ -380,11 +380,11 @@ If you are running SSH on a non-standard port, you must change the gitlab user's
port 2222 # Your port number
hostname 127.0.0.1; # Your server name or IP
You also need to change the corresponding options (e.g. ssh_user, ssh_host, admin_uri) in the `config\gitlab.yml` file.
You also need to change the corresponding options (e.g. `ssh_user`, `ssh_host`, `admin_uri`) in the `config\gitlab.yml` file.
### LDAP authentication
You can configure LDAP authentication in config/gitlab.yml. Please restart GitLab after editing this file.
You can configure LDAP authentication in `config/gitlab.yml`. Please restart GitLab after editing this file.
### Using Custom Omniauth Providers
......@@ -422,4 +422,4 @@ If you have successfully set up a provider that is not shipped with GitLab itsel
You can help others by reporting successful configurations and probably share a few insights or provide warnings for common errors or pitfalls by sharing your experience [in the public Wiki](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations).
While we can't officially support every possible auth mechanism out there, we'd like to at least help those with special needs.
While we can't officially support every possible authentication mechanism out there, we'd like to at least help those with special needs.
......@@ -37,7 +37,7 @@ To enable the GitHub OmniAuth provider you must register your application with G
args: { scope: 'user:email' } }
```
1. Change 'YOUR APP ID' to the client ID from the GitHub application page from step 7.
1. Change 'YOUR APP ID' to the client ID from the GitHub application page from step 7.
1. Change 'YOUR APP SECRET' to the client secret from the GitHub application page from step 7.
......
# Public access
Gitlab allows you to open selected projects to be accessed **publicly** or **internally**.
GitLab allows you to open selected projects to be accessed **publicly** or **internally**.
Projects with either of these visibility levels will be listed in the [public access directory](/public).
......
......@@ -51,7 +51,7 @@ Deleting old backups... [SKIPPING]
Please be informed that a backup does not store your configuration files.
If you use Omnibus-GitLab please see the [instructions in the readme to backup your configuration](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#backup-and-restore-omnibus-gitlab-configuration).
If you have a cookbook installation there should be a copy of your configuration in Chef.
If you have a manual installation please consider backing up your gitlab.yml file and any ssl keys and certificates.
If you have a manual installation please consider backing up your gitlab.yml file and any SSL keys and certificates.
## Restore a previously created backup
......
......@@ -111,9 +111,9 @@ Redis version >= 2.0.0? ... yes
Checking GitLab ... Finished
```
## (Re-)Create satellite repos
## (Re-)Create satellite repositories
This will create satellite repos for all your projects.
This will create satellite repositories for all your projects.
If necessary, remove the `tmp/repo_satellites` directory and rerun the command below.
......
......@@ -45,7 +45,7 @@ Any changes not yet added to the changelog are added by lead developer and in th
* Release CE and EE (#LINK)
23th:
23rd:
* Prepare package for GitLab.com release (#LINK)
......@@ -73,9 +73,9 @@ The RC1 release comes with the task to update the installation and upgrade docs.
1. Create: CE update guide from previous version. Like `from-6-8-to-6.9`
1. Create: CE to EE update guide in EE repository for latest version.
1. Update: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/6.0-to-6.x.md to latest version.
1. Update: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/6.0-to-6.x.md to latest version.
It's best to copy paste the previous guide and make changes where necessary.
It's best to copy paste the previous guide and make changes where necessary.
The typical steps are listed below with any points you should specifically look at.
#### 0. Any major changes?
......
......@@ -59,7 +59,7 @@ XXX
### Credit
We want to thank XXX of XXX for the reponsible disclosure of this vulnerability.
We want to thank XXX of XXX for the responsible disclosure of this vulnerability.
## Email template
......
......@@ -67,7 +67,7 @@ sudo rm -rf /home/gitlab/gitlab-satellites
sudo rm /tmp/gitlab.socket
```
## 5. Update gitlab to recent version
## 5. Update GitLab to recent version
```bash
cd /home/git/gitlab
......@@ -157,7 +157,7 @@ sudo -u git -H /home/git/gitlab-shell/bin/check
# /home/git/.ssh/authorized_keys: OK
# Now check gitlab instance
# Now check GitLab instance
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
```
......
......@@ -69,3 +69,22 @@ mysql> \q
## 7. Start application
sudo service gitlab start
## 8. Check installation
```bash
# In 5-10 seconds lets check gitlab-shell
sudo -u git -H /home/git/gitlab-shell/bin/check
# Example of success output
# Check GitLab API access: OK
# Check directories and files:
# /home/git/repositories: OK
# /home/git/.ssh/authorized_keys: OK
# Now check gitlab instance
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
```
......@@ -32,7 +32,7 @@ sudo -u git -H git fetch
sudo -u git -H git checkout v1.7.9 # Addresses multiple critical security vulnerabilities
```
The Gitlab-shell config changed recently, so check for config file changes and make `/home/git/gitlab-shell/config.yml` the same as <https://github.com/gitlabhq/gitlab-shell/blob/master/config.yml.example>
The gitlab-shell config changed recently, so check for config file changes and make `/home/git/gitlab-shell/config.yml` the same as <https://github.com/gitlabhq/gitlab-shell/blob/master/config.yml.example>
## 4. Install libs, migrations, etc.
......@@ -55,7 +55,7 @@ sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS
## 5. Update config files
TIP: to see what changed in gitlab.yml.example in this release use next command:
TIP: to see what changed in gitlab.yml.example in this release use next command:
```
git diff 6-2-stable:config/gitlab.yml.example 6-3-stable:config/gitlab.yml.example
......
......@@ -18,7 +18,7 @@ cd /home/git/gitlab
sudo -u git -H git fetch --all
```
For Gitlab Community Edition:
For GitLab Community Edition:
```bash
sudo -u git -H git checkout 6-7-stable
......
......@@ -20,7 +20,7 @@ cd /home/git/gitlab
sudo -u git -H git fetch --all
```
For Gitlab Community Edition:
For GitLab Community Edition:
```bash
sudo -u git -H git checkout 6-9-stable
......@@ -90,7 +90,7 @@ If all items are green, then congratulations upgrade is complete!
## Things went south? Revert to previous version (6.8)
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.7 to 6.8`](6.7-to-6.8.md), except for the database migration
Follow the [`upgrade guide from 6.7 to 6.8`](6.7-to-6.8.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -52,7 +52,7 @@ cd /home/git/gitlab
sudo -u git -H git fetch --all
```
For Gitlab Community Edition:
For GitLab Community Edition:
```bash
sudo -u git -H git checkout 7-0-stable
......@@ -126,7 +126,7 @@ If all items are green, then congratulations upgrade is complete!
## Things went south? Revert to previous version (6.9)
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.8 to 6.9`](6.8-to-6.9.md), except for the database migration
Follow the [`upgrade guide from 6.8 to 6.9`](6.8-to-6.9.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -52,7 +52,7 @@ cd /home/git/gitlab
sudo -u git -H git fetch --all
```
For Gitlab Community Edition:
For GitLab Community Edition:
```bash
sudo -u git -H git checkout 7-1-stable
......@@ -126,7 +126,7 @@ If all items are green, then congratulations upgrade is complete!
## Things went south? Revert to previous version (7.0)
### 1. Revert the code to the previous version
Follow the [`upgrade guide from 6.9 to 7.0`](6.9-to-7.0.md), except for the database migration
Follow the [`upgrade guide from 6.9 to 7.0`](6.9-to-7.0.md), except for the database migration
(The backup is already migrated to the previous version)
### 2. Restore from the backup:
......
......@@ -21,7 +21,7 @@ When your group has been created you are presented with the group dashboard feed
You can use the 'New project' button to add a project to the new group.
## Transfering an existing project into a group
## Transferring an existing project into a group
You can transfer an existing project into a group you own from the project settings page.
First scroll down to the 'Dangerous settings' and click 'Show them to me'.
......@@ -59,7 +59,7 @@ See [the GitLab Enterprise Edition documentation](http://doc.gitlab.com/ee/integ
## Allowing only admins to create groups
By default, any GitLab user can create new groups.
This ability can be disabled for individual users from the admin panel.
This ability can be disabled for individual users from the admin panel.
It is also possible to configure GitLab so that new users default to not being able to create groups:
```
......
......@@ -16,7 +16,7 @@ They integrate deeply into GitLab and are easily referenced from anywhere by usi
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.
As with issues, it can be assigned; people, issues, etc. can be referenced; milestones attached.
We see it as an integral part of working together on code and couldn't work without it.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment