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

Edited by Chris Dawson