Commit Graph

207 Commits

Author SHA1 Message Date
1285135926 Updated products links to pricing 2018-07-03 00:37:24 +00:00
9980869d1e Update readme 2018-06-06 21:01:47 +09:00
cc9928c256 Docs: add the documentation guidelines into its own dir 2018-06-06 11:32:38 +00:00
3c9686c96d Rename Secret variables -> variables 2018-06-06 11:28:54 +02:00
1ae2d4ec0d Change expect to except on help page 2018-05-14 12:27:12 +02:00
f703ba3f85 Docs: add custom descriptions to most relevant docs 2018-05-09 11:07:11 +00:00
81dd85b226 Docs: review product categories in doc/README 2018-04-30 10:27:50 +00:00
dc22d13a42 Web IDE > CE 2018-04-17 12:46:18 -03:00
9084418774 corrected git cheat sheet url
Previous one returned HTTP 404. It was discussed in http://gitlab.com/gitlab-com/marketing/general/issues/1966
that it is preffered to use /press based git cheat sheet pdf because it
is opened in browser's pdf viewer by default rather than downloaded.
2018-04-15 13:16:00 +03:00
4bc38c414e Link Monitor docs to the front page 2018-04-11 14:25:29 +02:00
fe399402df Replaces "Libre" => "Core" 2018-03-28 15:13:47 -03:00
4efa5c4fd6 Docs organize main page by product category 2018-03-26 14:48:39 +00:00
dd071c4b6e Bring one group board to CE 2018-03-03 12:56:17 -03:00
5d74be2163 Docs: explain feature availability in GitLab.com 2018-02-28 15:30:31 +00:00
650d11beb4 Docs: search/replace "Enterprise Edition" and adjust when applicable 2018-02-22 16:13:35 +00:00
ece547f4f9 Docs: update GitLab products description 2018-02-01 19:49:07 +00:00
d2aaf036a4 Fix: fix typo to open source 2018-01-18 14:36:06 +00:00
d30202f5d2 fix typo 2017-12-07 15:33:51 -02:00
de4f2a6e82 Docs: admin index 2017-12-07 15:09:22 +00:00
40b306a530 Docs: add EEU tier to the landing page 2017-12-07 13:29:48 +00:00
b8a3931925 Add custom brand text on new project pages 2017-12-04 17:22:59 +01:00
4dfe26cd8b Rewrite the GitHub importer from scratch
Prior to this MR there were two GitHub related importers:

* Github::Import: the main importer used for GitHub projects
* Gitlab::GithubImport: importer that's somewhat confusingly used for
  importing Gitea projects (apparently they have a compatible API)

This MR renames the Gitea importer to Gitlab::LegacyGithubImport and
introduces a new GitHub importer in the Gitlab::GithubImport namespace.
This new GitHub importer uses Sidekiq for importing multiple resources
in parallel, though it also has the ability to import data sequentially
should this be necessary.

The new code is spread across the following directories:

* lib/gitlab/github_import: this directory contains most of the importer
  code such as the classes used for importing resources.
* app/workers/gitlab/github_import: this directory contains the Sidekiq
  workers, most of which simply use the code from the directory above.
* app/workers/concerns/gitlab/github_import: this directory provides a
  few modules that are included in every GitHub importer worker.

== Stages

The import work is divided into separate stages, with each stage
importing a specific set of data. Stages will schedule the work that
needs to be performed, followed by scheduling a job for the
"AdvanceStageWorker" worker. This worker will periodically check if all
work is completed and schedule the next stage if this is the case. If
work is not yet completed this worker will reschedule itself.

Using this approach we don't have to block threads by calling `sleep()`,
as doing so for large projects could block the thread from doing any
work for many hours.

== Retrying Work

Workers will reschedule themselves whenever necessary. For example,
hitting the GitHub API's rate limit will result in jobs rescheduling
themselves. These jobs are not processed until the rate limit has been
reset.

== User Lookups

Part of the importing process involves looking up user details in the
GitHub API so we can map them to GitLab users. The old importer used
an in-memory cache, but this obviously doesn't work when the work is
spread across different threads.

The new importer uses a Redis cache and makes sure we only perform
API/database calls if absolutely necessary.  Frequently used keys are
refreshed, and lookup misses are also cached; removing the need for
performing API/database calls if we know we don't have the data we're
looking for.

== Performance & Models

The new importer in various places uses raw INSERT statements (as
generated by `Gitlab::Database.bulk_insert`) instead of using Rails
models. This allows us to bypass any validations and callbacks,
drastically reducing the number of SQL queries and Gitaly RPC calls
necessary to import projects.

To ensure the code produces valid data the corresponding tests check if
the produced rows are valid according to the model validation rules.
2017-11-07 23:24:59 +01:00
69b4c5c011 Exclude comments from specific docs 2017-11-01 15:56:40 +00:00
0011d8740f Simple docs fixes 2017-10-23 14:11:51 +00:00
1530457eca index project settings doc from other indexes 2017-09-08 12:40:15 -03:00
56fbff8ce5 Docs new index for project's settings 2017-09-08 14:08:07 +00:00
d98b6a6fbf Add Auto DevOps docs 2017-09-07 20:39:09 +00:00
b9aa55e1ea Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into ee_issue_928_backport 2017-09-06 14:35:58 +10:00
c740d3de28 Deprecate Koding in docs 2017-09-01 18:27:16 +02:00
8077b728bc Continue BE backport 2017-08-31 14:48:57 -03:00
11da029edb Move GPG signed commits docs to new location
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/36804
2017-08-29 13:09:39 +02:00
6cc53dd1ae Merge branch 'docs/gpg-refactor' into 'master'
Refactor GPG docs

See merge request !13660
2017-08-21 01:19:03 +00:00
4d4994f4cd Change GPG docs location 2017-08-18 10:52:35 +03:00
bbd627c548 Move workflow/importing/ to user/project/import/ 2017-08-17 17:18:33 +03:00
a76615b0f1 link tech articles from the landing page 2017-08-15 14:25:01 -03:00
f9ddf19da8 Docs: update user docs index 2017-08-11 06:17:02 +00:00
b1ae717de6 Merge branch 'docs/add-toc' into 'master'
Start using 'toc' in yaml frontmatter to explicitly disable it

See merge request !13310
2017-08-10 15:12:58 +00:00
5388f5ee13 Merge branch 'patch-24' into 'master'
there are 3 dots but it says four products. fixed

See merge request !13129
2017-08-09 05:35:24 +00:00
288f2e7880 Update README.md with a more flexible sentence 2017-08-07 11:46:04 +00:00
9c33281c23 Start using 'toc' in yaml frontmatter to explicitly disable it
See https://gitlab.com/gitlab-com/gitlab-docs/merge_requests/107
2017-08-04 16:28:51 +03:00
c9c0a12713 New doc topic user/project/index 2017-07-31 09:44:07 +00:00
68efbff087 Docs new topic: "user/profile/index" 2017-07-27 19:23:35 +00:00
8a55d2ffbc Docs new topic "user/project/repository/index.md" 2017-07-27 19:12:53 +00:00
28c75fc1a8 documentation for gpg signed commits 2017-07-27 15:43:37 +02:00
2624d067c7 there are 3 dots but it says four products. fixed 2017-07-27 12:09:19 +00:00
2dc2538d74 Docs new topic "user/index" 2017-07-26 08:02:11 +00:00
1f9ab89d79 Add GitLab Trello Power-Up Documentation 2017-07-20 10:29:42 -05:00
af39e4be09 Refactor groups docs 2017-07-16 16:03:39 +00:00
b8c4d5e0f5 Merge branch 'master' into 33929-allow-to-enable-perf-bar-for-a-group 2017-07-07 15:54:39 +01:00
78089d1153 Remove option to disable Gitaly completely 2017-07-07 12:48:34 +02:00