Basic Authorization support for GitLab Source Link requests.
You can see this used at rgl/gitlab-vagrant.
Configure GitLab nginx to proxy the Visual Studio requests through our proxy by applying the patch at:
https://github.com/rgl/gitlab-vagrant/blob/master/gitlab-http.conf-gitlab-source-link-proxy.patch
Restart nginx:
gitlab-ctl restart nginxBuild the binary:
makeManually run it:
./dist/gitlab-source-link-proxy_$(go env GOOS)_$(go env GOARCH)/gitlab-source-link-proxy \
--gitlab-base-url https://gitlab.example.comTry it:
http --verify=no -v https://root:[email protected]/example/ubuntu-vagrant/raw/master/.gitignore User-Agent:SourceLinkInstall it as a systemd service:
# add the gitlab-source-link-proxy user.
groupadd --system gitlab-source-link-proxy
adduser \
--system \
--disabled-login \
--no-create-home \
--gecos '' \
--ingroup gitlab-source-link-proxy \
--home /opt/gitlab-source-link-proxy \
gitlab-source-link-proxy
install -d -o root -g gitlab-source-link-proxy -m 750 /opt/gitlab-source-link-proxy
install -d -o root -g gitlab-source-link-proxy -m 750 /opt/gitlab-source-link-proxy/bin
# install the binary.
install -o root -g root -m 555 gitlab-source-link-proxy /opt/gitlab-source-link-proxy/bin
# install the systemd service.
cat >/etc/systemd/system/gitlab-source-link-proxy.service <<EOF
[Unit]
Description=gitlab-source-link-proxy
After=network.target
[Service]
Type=simple
User=gitlab-source-link-proxy
Group=gitlab-source-link-proxy
ExecStart=/opt/gitlab-source-link-proxy/bin/gitlab-source-link-proxy --gitlab-base-url https://gitlab.example.com
WorkingDirectory=/opt/gitlab-source-link-proxy
Restart=on-abort
[Install]
WantedBy=multi-user.target
EOF
systemctl enable gitlab-source-link-proxy
systemctl start gitlab-source-link-proxyShow the service status and logs:
systemctl status gitlab-source-link-proxy
journalctl -u gitlab-source-link-proxyTo be able to step through external source code you need to disable Enable Just My Code setting in the Tools | Options | Debugger window.
To be able to download source code you need to configure Visual Studio to authenticate your GitLab domain requests.
For Visual Studio 15.8+, open the Tools | Options | Debugger window and check Fall back to Git Credential Manager authentication for all Source Link requests.
For older versions of Visual Studio 15:
- Open the
Developer Command Prompt for VS 2017 - run
notepad "%VSINSTALLDIR%\Common7\IDE\CommonExtensions\Platform\Debugger\VsDebugPresentationPackage.pkgdef" - Add your GitLab domain as a Git Credential Manager Authority in the corresponding ini section, e.g.:
[$RootKey$\Debugger\GitCredentialManager\Authorities] "raw.githubusercontent.com"="https://github.com" "gitlab.example.com"="https://gitlab.example.com"
- run
devenv /setup
To be able to step through external source code you need to disable Just My Code in the Debugger Launch Settings.
NB There is no support for accessing private repositories, as it does not support authentication. For more information see the Source Link options documentation and upvote the #2071 issue.