Skip to main content

Fazer backup e restaurar o GitHub Enterprise Server com o GitHub Actions habilitado

Para restaurar um backup de sua instância do GitHub Enterprise Server quando o GitHub Actions estiver habilitado, configure o GitHub Actions antes de restaurar o backup com o GitHub Enterprise Server Backup Utilities.

Sobre backups do GitHub Enterprise Server ao usar o GitHub Actions

Você pode usar o GitHub Enterprise Server Backup Utilities para fazer backup e restaurar os dados e a configuração de sua instância do GitHub Enterprise Server para uma nova instância. Para obter mais informações, confira "Como configurar backups em sua instância".

No entanto, nem todos os dados do GitHub Actions estão incluídos nesses backups. GitHub Actions usa armazenamento externo para armazenar artefatos e registros de fluxo de trabalho. Esses dados são armazenados no provedor externo, como o Armazenamento de Blobs do Azure, o Amazon S3, o Google Cloud Storage ou o MinIO. Como resultado, os backups do GitHub Enterprise Server e as configurações de alta disponibilidade do GitHub Enterprise Server não fornecem proteção para os dados armazenados nesse armazenamento externo. Eles dependem da proteção e replicação de dados fornecidas pelo provedor de armazenamento externo, como Azure, Google Cloud ou AWS.

Restauração de um backup do GitHub Enterprise Server quando o GitHub Actions está habilitado

Para restaurar um backup de sua instância do GitHub Enterprise Server com o GitHub Actions, defina manualmente as configurações de rede e o armazenamento externo na instância de destino antes de restaurar o backup do GitHub Enterprise Server Backup Utilities.

  1. Confirme se a instância de origem está offline.

  2. Defina manualmente as configurações de rede na instância do GitHub Enterprise Server substituta. As configurações de rede são excluídas do instantâneo de backup e não são substituídas por ghe-restore. Para obter mais informações, confira "Definindo as configurações de rede".

  3. Acesse com SSH a instância de destino. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    ssh -p 122 admin@HOSTNAME
    
  4. Configure a instância de destino para usar o mesmo serviço de armazenamento externo para o GitHub Actions que a instância de origem inserindo um dos comandos a seguir.

    • Armazenamento de Blobs do Azure:

      Shell
      ghe-config secrets.actions.storage.blob-provider "azure"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.blob-provider "s3"
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "gcs"
      
  5. Configure a conexão de armazenamento externo inserindo os comandos a seguir e substituindo os valores de espaço reservado pelos valores reais da sua conexão.

    • Armazenamento de Blobs do Azure:

      Shell
      ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME"
      ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL"
      ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID"
      ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
      

      Opcionalmente, para forçar o endereçamento no estilo de caminho para S3, insira também o comando a seguir.

      Shell
      ghe-config secrets.actions.storage.s3.force-path-style true
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL"
      ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME"
      ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID"
      ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
      
  6. Como preparação para habilitar o GitHub Actions na instância de destino, insira o comando a seguir.

    Shell
    ghe-config app.actions.enabled true
    
  7. Para aplicar a configuração e habilitar GitHub Actions a fim de se conectar ao provedor de armazenamento externo, insira o comando a seguir.

    Shell
    ghe-config-apply
    
  8. Depois que o GitHub Actions estiver configurado e habilitado, use o comando ghe-restore para restaurar o restante dos dados do backup. Para obter mais informações, confira "Como configurar backups em sua instância".

  9. Registre novamente os executores auto-hospedados na instância de destino. Para obter mais informações, confira "Adicionar executores auto-hospedados".

  10. Para garantir que as ações agrupadas pré-instaladas em sua nova instância estejam atualizadas, insira o comando a seguir.

    Shell
    ghe-config --unset 'app.actions.actions-repos-sha1sum'
    
    1. Para aplicar a configuração, execute o comando a seguir.

      Observação: durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.

      Shell
      ghe-config-apply
      
    2. Aguarde a conclusão da execução de suas configurações.