Commit 3effc289 authored by Stan Hu's avatar Stan Hu

Merge branch 'custom-gitaly-url' into 'master'

Allow Gitaly to be built from a custom URL

See merge request gitlab-org/gitlab-ce!24616
parents 8d90f817 3ee9bca5
......@@ -130,6 +130,25 @@ Gitaly. To use a custom Gitaly version in CI you need to update
GITALY_SERVER_VERSION. You can use the format `=revision` to use a
non-tagged commit from in CI.
To use a different Gitaly repository, e.g., if your changes are present
on a fork, you can specify a `GITALY_REPO_URL` environment variable when
running tests:
GITALY_REPO_URL= bundle exec rspec spec/lib/gitlab/git/repository_spec.rb
If your fork of Gitaly is private, you can generate a [Deploy Token](../user/project/deploy_tokens/
and specify it in the URL:
GITALY_REPO_URL= bundle exec rspec spec/lib/gitlab/git/repository_spec.rb
To use a custom Gitaly repository in CI, for instance if you want your
GitLab fork to always use your own Gitaly fork, set `GITALY_REPO_URL`
as a [CI environment variable](../ci/variables/
[Return to Development documentation](
......@@ -160,11 +160,12 @@ def create_fake_git_hooks
def setup_gitaly
socket_path = Gitlab::GitalyClient.address('default').sub(/\Aunix:/, '')
gitaly_dir = File.dirname(socket_path)
install_gitaly_args = [gitaly_dir, repos_path, gitaly_url].compact.join(',')
install_dir: gitaly_dir,
version: Gitlab::GitalyClient.expected_server_version,
task: "gitlab:gitaly:install[#{gitaly_dir},#{repos_path}]") do
task: "gitlab:gitaly:install[#{install_gitaly_args}]") do
Gitlab::SetupHelper.create_gitaly_configuration(gitaly_dir, { 'default' => repos_path }, force: true)
......@@ -215,6 +216,10 @@ def stop_gitaly
# The process can already be gone if the test run was INTerrupted.
def gitaly_url
ENV.fetch('GITALY_REPO_URL', nil)
def setup_factory_repo
setup_repo(factory_repo_path, factory_repo_path_bare, factory_repo_name,
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