[go: up one dir, main page]

Skip to content

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