Note: It is recommended to log into the `git` user using `sudo -i -u git` or `sudo su - git`. While
It's recommended to sign in to the `git` user using either `sudo -i -u git` or
the `sudo` commands provided by GitLab work in Ubuntu they do not always work in RHEL.
`sudo su - git`. Although the `sudo` commands provided by GitLab work in Ubuntu,
they don't always work in RHEL.
## GitLab.com
## GitLab.com
We've also detailed [our architecture of GitLab.com](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/) but this is probably over the top unless you have millions of users.
The [GitLab.com architecture](https://about.gitlab.com/handbook/engineering/infrastructure/production/architecture/)
is detailed for your reference, but this architecture is only useful if you have
@@ -10,7 +10,6 @@ The process for creating and maintaining GitLab product documentation allows
...
@@ -10,7 +10,6 @@ The process for creating and maintaining GitLab product documentation allows
anyone to contribute a merge request or create an issue for GitLab's
anyone to contribute a merge request or create an issue for GitLab's
documentation.
documentation.
NOTE: **Note:**
Documentation updates relating to new features or feature enhancements must
Documentation updates relating to new features or feature enhancements must
use the [feature workflow process](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#for-a-product-change) described in the GitLab Handbook.
use the [feature workflow process](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#for-a-product-change) described in the GitLab Handbook.
...
@@ -165,6 +164,5 @@ Ensure the following if skipping an initial Technical Writer review:
...
@@ -165,6 +164,5 @@ Ensure the following if skipping an initial Technical Writer review:
- For [directories and files](styleguide.md#work-with-directories-and-files).
- For [directories and files](styleguide.md#work-with-directories-and-files).
- For [images](styleguide.md#images).
- For [images](styleguide.md#images).
NOTE: **Note:**
Merge requests that change the location of documentation must always be reviewed by a Technical
Merge requests that change the location of documentation must always be reviewed by a Technical
@@ -35,7 +35,6 @@ used so that unfinished code can be deployed in production.
...
@@ -35,7 +35,6 @@ used so that unfinished code can be deployed in production.
A `development` feature flag should have a rollout issue,
A `development` feature flag should have a rollout issue,
ideally created using the [Feature Flag Roll Out template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20Flag%20Roll%20Out.md).
ideally created using the [Feature Flag Roll Out template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20Flag%20Roll%20Out.md).
NOTE: **Note:**
This is the default type used when calling `Feature.enabled?`.
This is the default type used when calling `Feature.enabled?`.
### `ops` type
### `ops` type
...
@@ -356,7 +355,6 @@ Introducing a feature flag into the codebase creates an additional code path tha
...
@@ -356,7 +355,6 @@ Introducing a feature flag into the codebase creates an additional code path tha
It is strongly advised to test all code affected by a feature flag, both when **enabled** and **disabled**
It is strongly advised to test all code affected by a feature flag, both when **enabled** and **disabled**
to ensure the feature works properly.
to ensure the feature works properly.
NOTE: **Note:**
When using the testing environment, all feature flags are enabled by default.
When using the testing environment, all feature flags are enabled by default.
To disable a feature flag in a test, use the `stub_feature_flags`
To disable a feature flag in a test, use the `stub_feature_flags`
@@ -107,7 +107,7 @@ The `CarrierWave::Uploader#store_dir` is overridden to
...
@@ -107,7 +107,7 @@ The `CarrierWave::Uploader#store_dir` is overridden to
### Using `ObjectStorage::Extension::RecordsUploads`
### Using `ObjectStorage::Extension::RecordsUploads`
> Note: this concern will automatically include `RecordsUploads::Concern` if not already included.
This concern will automatically include `RecordsUploads::Concern` if not already included.
The `ObjectStorage::Concern` uploader will search for the matching `Upload` to select the correct object store. The `Upload` is mapped using `#store_dirs + identifier` for each store (LOCAL/REMOTE).
The `ObjectStorage::Concern` uploader will search for the matching `Upload` to select the correct object store. The `Upload` is mapped using `#store_dirs + identifier` for each store (LOCAL/REMOTE).
@@ -163,7 +163,7 @@ allow_next_found_instance_of(Project) do |project|
...
@@ -163,7 +163,7 @@ allow_next_found_instance_of(Project) do |project|
end
end
```
```
_**Note:**Since Active Record is not calling the `.new` method on model classes to instantiate the objects,
Since Active Record is not calling the `.new` method on model classes to instantiate the objects,
you should use `expect_next_found_instance_of` or `allow_next_found_instance_of` mock helpers to setup mock on objects returned by Active Record query & finder methods._
you should use `expect_next_found_instance_of` or `allow_next_found_instance_of` mock helpers to setup mock on objects returned by Active Record query & finder methods._
If we also want to initialize the instance with some particular arguments, we
If we also want to initialize the instance with some particular arguments, we
See ["Why is it bad style to `rescue Exception => e` in Ruby?"](https://stackoverflow.com/questions/10048173/why-is-it-bad-style-to-rescue-exception-e-in-ruby).
See ["Why is it bad style to `rescue Exception => e` in Ruby?"](https://stackoverflow.com/questions/10048173/why-is-it-bad-style-to-rescue-exception-e-in-ruby).
@@ -18,7 +18,8 @@ Some gems may not include their license information in their `gemspec` file, and
...
@@ -18,7 +18,8 @@ Some gems may not include their license information in their `gemspec` file, and
### License Finder commands
### License Finder commands
> Note: License Finder currently uses GitLab misused terms of `whitelist` and `blacklist`. As a result, the commands below reference those terms. We've created an [issue on their project](https://github.com/pivotal/LicenseFinder/issues/745) to propose that they rename their commands.
NOTE: **Note:**
License Finder currently uses GitLab misused terms of `whitelist` and `blacklist`. As a result, the commands below reference those terms. We've created an [issue on their project](https://github.com/pivotal/LicenseFinder/issues/745) to propose that they rename their commands.
There are a few basic commands License Finder provides that you'll need in order to manage license detection.
There are a few basic commands License Finder provides that you'll need in order to manage license detection.