GitLab: Difference between revisions
(3 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
===Setup=== | ===Setup=== | ||
To use your own PVs and PVCs, | To use your own PVs and PVCs, | ||
* Create your own PVs and PVCs for gitaly | * Create your own PVs and PVCs for gitaly, postgres, and redis. | ||
* Setup a PV for minio. | |||
** Note that the gitaly PVC should be named <code>repo-data-gitlab-gitaly-0</code> | ** Note that the gitaly PVC should be named <code>repo-data-gitlab-gitaly-0</code> | ||
* Set the following values: | * Set the following values: | ||
Line 13: | Line 14: | ||
replicas: 2 | replicas: 2 | ||
persistence: | persistence: | ||
volumeName: gitlab-minio | |||
redis: | redis: | ||
persistence: | persistence: | ||
Line 24: | Line 25: | ||
===Migration from Omnibus Install=== | ===Migration from Omnibus Install=== | ||
See [https://docs.gitlab.com/charts/installation/migration/package_to_helm.html Migrate from the Linux package to the Helm chart] | See [https://docs.gitlab.com/charts/installation/migration/package_to_helm.html Migrate from the Linux package to the Helm chart] | ||
===Docker-in-docker CI/CD=== | |||
The Gitlab CI/CD is useful for building docker images.<br> | |||
You will need to deploy setup Gitlab runners. | |||
Due to some issues with fastly [https://github.com/gliderlabs/docker-alpine/issues/307], you will want to set <code>command: ["--mtu=1300"]</code> on your <code>dind</code> service containers. | |||
==Omnibus Administration== | ==Omnibus Administration== | ||
Here are notes on running your own gitlab instance. | Here are notes on running your own gitlab instance.<br> | ||
'''Note: I've migrated from the Omnibus install to the helm charts.''' | |||
===Terms=== | ===Terms=== | ||
* unicorn - this is the web server portion of gitlab | * unicorn - this is the web server portion of gitlab | ||
Line 66: | Line 75: | ||
In <code>/etc/gitlab/gitlab.rb</code>, edit the following: | In <code>/etc/gitlab/gitlab.rb</code>, edit the following: | ||
<pre> | <pre> | ||
registry_external_url 'https://gitlab.davidl.me | registry_external_url 'https://registry.gitlab.davidl.me' | ||
### Settings used by GitLab application | ### Settings used by GitLab application | ||
gitlab_rails['registry_enabled'] = true | gitlab_rails['registry_enabled'] = true | ||
gitlab_rails['registry_host'] = "gitlab.davidl.me" | gitlab_rails['registry_host'] = "registry.gitlab.davidl.me" | ||
gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry" | gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry" | ||
registry_nginx['enable'] = false | registry_nginx['enable'] = false | ||
</pre> | </pre> | ||
Then have your reverse proxy | Then have your reverse proxy to 5000. |
Latest revision as of 04:01, 5 April 2023
Kubernetes Administration
Notes on deploying GitLab using their Helm chart.
Setup
To use your own PVs and PVCs,
- Create your own PVs and PVCs for gitaly, postgres, and redis.
- Setup a PV for minio.
- Note that the gitaly PVC should be named
repo-data-gitlab-gitaly-0
- Note that the gitaly PVC should be named
- Set the following values:
minio: replicas: 2 persistence: volumeName: gitlab-minio redis: persistence: existingClaim: gitlab-redis postgresql: persistence: existingClaim: gitlab-postgres
Migration from Omnibus Install
See Migrate from the Linux package to the Helm chart
Docker-in-docker CI/CD
The Gitlab CI/CD is useful for building docker images.
You will need to deploy setup Gitlab runners.
Due to some issues with fastly [1], you will want to set command: ["--mtu=1300"]
on your dind
service containers.
Omnibus Administration
Here are notes on running your own gitlab instance.
Note: I've migrated from the Omnibus install to the helm charts.
Terms
- unicorn - this is the web server portion of gitlab
- sidekiq - the background job processor
Basic Commands
sudo gitlab-ctl start sudo gitlab-ctl stop sudo gitlab-ctl restart
LFS
Edit the config in /etc/gitlab/gitlab.rb
and set the following:
### Git LFS gitlab_rails['lfs_enabled'] = true gitlab_rails['lfs_storage_path'] = "/var/opt/gitlab/gitlab-rails/shared/lfs-objects"
- Notes
- If you change the LFS directory, you should run
sudo gitlab-ctl reconfigure
- The LFS directory should be
700
andgit:root
. - Parent directories need to have permissions
775
withgit
in the group or owned by usergit
. - See https://docs.gitlab.com/omnibus/settings/configuration.html#disable-storage-directories-management for more details.
- The LFS directory should be
The easiest way if you have very few users like me is to setup a separate gmail account.
Then use forwardemail.net such that the separate gmail account can send using your domain.
Then fill in the configuration.
See settings:smtp#gmail.
Also set:
gitlab_rails['gitlab_email_from'] = '[email protected]'
Container Registry
In /etc/gitlab/gitlab.rb
, edit the following:
registry_external_url 'https://registry.gitlab.davidl.me' ### Settings used by GitLab application gitlab_rails['registry_enabled'] = true gitlab_rails['registry_host'] = "registry.gitlab.davidl.me" gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry" registry_nginx['enable'] = false
Then have your reverse proxy to 5000.