Unable to get gitlab pages to work with an external server and local store
Summary
Unable to get pages to deploy locally or on an external server. At this point I would be fine if the files built locally, but I cannot even get that to work. I upgraded recently from 14.2 to 14.5 and then this failed.
With 14.2, I believe I had gitlab_pages['enable'] = false
and pages turned off for nginx.
I have an NFS mount setup between the pages server and the gitlab main server. I can do sudo -u git touch /mnt/pages/foo
and I am able to create files on the NFS mount from the gitlab main server.
My preference is that this works with an external server.
I am unsure how to troubleshoot because the pages:deploy
job has no logging and no troubleshooting as far as I can tell. And, if the gitlab pages daemon is off, then there is really no logging. I tried reviewing sidekiq logs for information on how the files were being pushed and if there was a failure but had no luck
Steps to reproduce
My config below shows all the different settings I've tried.
What is the current bug behavior?
I run a pipeline. I see the pages complete, then pages:deploy complete. But, there are no new files in /mnt/pages
, nor /var/opt/gitlab/gitlab-rails/shared/pages/
What is the expected correct behavior?
When I complete a pipeline, I should see the files deployed to the pages directory.
Relevant logs and/or screenshots
I've tried for hours to get any combination of these settings to work. I've reviewed the issue noted in the template.
pages_external_url "https://example.dev/"
# gitlab_pages['enable_disk'] = true
# gitlab_rails['pages_local_store_enabled'] = true
# gitlab_rails['pages_local_store_path'] = "/mnt/pages"
# gitlab_pages['domain_config_source'] = "disk"
# gitlab_rails['pages_path'] = "/mnt/pages"
gitlab_pages['status_uri'] = "/@status"
gitlab_pages['log_format'] = "json"
gitlab_pages['log_verbose'] = true
gitlab_pages['listen_proxy'] = "localhost:8090"
gitlab_pages['enable'] = true
# gitlab_pages['inplace_chroot'] = true
gitlab_pages['internal_gitlab_server'] = 'http://localhost:8080'
# Attempted to use minio; it pushed artifacts.zip up there, but not pages file as I would expect
# pages_nginx['enable'] = true
# gitlab_rails['pages_object_store_enabled'] = true
# gitlab_rails['pages_object_store_remote_directory'] = "pages"
# gitlab_rails['pages_object_store_connection'] = {
# 'provider' => 'AWS',
# 'region' => 'eu-west-1',
# 'aws_access_key_id' => 'zzzyyyxxx',
# 'aws_secret_access_key' => 'xxxxyyyzzz',
# # # The below options configure an S3 compatible host instead of AWS
# 'host' => 'files.example.dev',
# 'aws_signature_version' => 4, # For creation of signed URLs. Set to 2 if provider does not support v4.
# # 'endpoint' => 'https://s3.amazonaws.com', # default: nil - Useful for S3 compliant services such as DigitalOcean Spaces
# 'path_style' => true # Use 'host/bucket_name/object' instead of 'bucket_name.host/object'
# }
~"devops::release" ~"group::release" Category:Pages