Skip to main content

Utilitários de linha de comando

O GitHub Enterprise Server tem uma série de utilitários que ajudam a resolver problemas específicos ou a executar determinadas tarefas.

Depois de entrar como usuário administrador com SSH, você pode executar esses comandos de qualquer lugar na VM. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

Geral

ghe-announce

Este utilitário insere um banner no topo de cada página do GitHub Enterprise. Você pode usá-lo para enviar uma comunicação a todos os usuários.

# Sets a message that's visible to everyone
$ ghe-announce -s MESSAGE
> Announcement message set.
# Removes a previously set message
$ ghe-announce -u
> Removed the announcement message

Para permitir que cada usuário ignore o anúncio por conta própria, use o sinalizador -d.

# Sets a user-dismissible message that's visible to everyone
$ ghe-announce -d -s MESSAGE
> Announcement message set.
# Removes a previously set message
$ ghe-announce -u
> Removed the announcement message, which was user 
> dismissible: MESSAGE

Você também pode definir um banner de anúncio usando as configurações empresariais no GitHub Enterprise Server. Para obter mais informações, confira "Personalizar mensagens de usuário para sua empresa".

ghe-aqueduct

Este utilitário exibe informações sobre trabalhos em segundo plano, ativos e em fila. Ele fornece os mesmos números de contagem de trabalhos que a barra de estatísticas de administração, na parte superior de todas as páginas.

Este utilitário pode ajudar a identificar se o servidor de Aqueduct está tendo problemas no processamento de trabalhos em segundo plano. Qualquer dos seguintes cenários pode indicar um problema com o Aqueduct:

  • O número de trabalhos em segundo plano está aumentando, e os trabalhos ativos continuam iguais.
  • Os feeds de evento não estão sendo atualizados.
  • Webhooks não estão sendo acionados.
  • A interface web não atualiza após um push do Git.

Se você suspeitar que o Aqueduct tem uma falha, visite Suporte do GitHub Enterprise para obter ajuda.

Com este comando, também é possível pausar ou retomar trabalhos na fila.

$ ghe-aqueduct status
# lists queues and the number of currently queued jobs
# for all queues
$ ghe-aqueduct queue_depth --queue QUEUE
# lists the number of currently queued jobs for the
# specified queue
$ ghe-aqueduct pause --queue QUEUE
# pauses the specified queue
$ ghe-aqueduct resume --queue QUEUE
# resumes the specified queue

ghe-check-disk-usage

Este utilitário verifica se há arquivos grandes ou arquivos excluídos no disco, mas que ainda têm identificadores abertos. Deve ser executado para liberar espaço na partição raiz.

ghe-check-disk-usage

ghe-cleanup-caches

Este utilitário limpa uma série de caches que podem vir a ocupar espaço extra em disco no volume raiz. Se você perceber que o uso do espaço em disco do volume raiz aumenta muito ao longo do tempo, talvez seja uma boa ideia executar este utilitário e verificar se ele ajuda a reduzir o uso geral.

ghe-cleanup-caches

ghe-cleanup-settings

Este utilitário apaga todas as configurações do Console de Gerenciamento.

Dica: Normalmente, você só executa esse procedimento se entrou em contato com o suporte e foi orientado para tomar essa medida.

ghe-cleanup-settings

ghe-config

Com esse utilitário, você pode recuperar e modificar as definições de configuração de sua instância do GitHub Enterprise Server.

$ ghe-config core.github-hostname
# Gets the configuration value of `core.github-hostname`
$ ghe-config core.github-hostname URL
# Sets the configuration value of `core.github-hostname` 
# to the specified URL
$ ghe-config -l
# Lists all the configuration values

Permite encontrar o UUID (identificador universalmente exclusivo) do seu nó em cluster.conf.

  ghe-config HOSTNAME.uuid

Permite isentar uma lista de usuários do limite de taxa de da API REST. Um limite rígido de 120.000 solicitações ainda será aplicado a esses usuários. Os nomes de usuário fornecidos para este comando diferenciam maiúsculas de minúsculas. Para obter mais informações, confira "Limites de taxa para a API REST".

$ ghe-config app.github.rate-limiting-exempt-users "hubot github-actions[bot]"
# Exempts the users hubot and github-actions[bot] from rate limits.
# Usernames are case-sensitive.

ghe-config-apply

Este utilitário aplica configurações do Console de Gerenciamento, recarrega os serviços do sistema, prepara um dispositivo de armazenamento, recarrega os serviços de aplicativos e executa as migrações pendentes de banco de dados. Isso é equivalente a clicar em Salvar configurações na interface do usuário da Web do Console de Gerenciamento ou a enviar uma solicitação POST ao ponto de extremidade /setup/api/configure.

É provável que você não precise executar essa ação manualmente, mas é possível fazer isso caso você queira automatizar o processo de salvar suas configurações via SSH.

ghe-config-apply

ghe-console

Este utilitário abre o console do GitHub Rails no appliance do GitHub Enterprise. Não use esse comando sem a orientação do Suporte do GitHub Enterprise. O uso incorreto pode causar dano ou perda de dados.

ghe-console

ghe-dbconsole

Este utilitário abre uma sessão do banco de dados MySQL no appliance do GitHub Enterprise. Não use esse comando sem a orientação do Suporte do GitHub Enterprise. O uso incorreto pode causar dano ou perda de dados.

ghe-dbconsole

ghe-es-index-status

Este utilitário retorna um resumo dos índices do Elasticsearch no formato CSV.

Imprima um resumo do índice com uma linha de cabeçalho em STDOUT:

$ ghe-es-index-status -do
> warning: parser/current is loading parser/ruby23, which recognizes
> warning: 2.3.3-compliant syntax, but you are running 2.3.4.
> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
> Name,Primary,Searchable,Writable,UpToDate,RepairProgress,Version
> code-search-1,true,true,true,true,100.0,72e27df7c631b45e026b42bfef059328fa040e17
> commits-5,true,true,true,true,100.0,7ed28813100c47813ef654c0ee2bb9abf21ab744
> gists-4,true,true,true,true,100.0,cf8e7d04fcf2564c902e2873c424a279cc41079d
> issues-4,false,false,false,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> issues-5,true,true,true,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> projects-2,true,true,true,true,100.0,c5cac1c4b3c66d42e609d088d174dbc3dd44469a
> pull-requests-6,true,true,true,true,100.0,6a466ad6b896a3499509990979bf9a18d7d41de3
> repos-6,true,true,true,true,100.0,6c8b5fbba0fc1e409558db411d05e092c1387082
> users-5,true,true,true,true,100.0,38984875552bb826c9ec42999f409cb2e95556eb
> wikis-4,true,true,true,true,100.0,2613dec44bd14e14577803ac1f9e4b7e07a7c234

Imprima um resumo do índice e encaminhe os resultados para column a fim de facilitar a leitura:

$ ghe-es-index-status -do | column -ts,
> warning: parser/current is loading parser/ruby23, which recognizes
> warning: 2.3.3-compliant syntax, but you are running 2.3.4.
> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
> Name             Primary  Searchable  Writable  UpToDate  RepairProgress  Version
> code-search-1    true     true        true      true      100.0           72e27df7c631b45e026b42bfef059328fa040e17
> commits-5        true     true        true      true      100.0           7ed28813100c47813ef654c0ee2bb9abf21ab744
> gists-4          true     true        true      true      100.0           cf8e7d04fcf2564c902e2873c424a279cc41079d
> issues-4         false    false       false     true      100.0           d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> issues-5         true     true        true      true      100.0           d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> projects-2       true     true        true      true      100.0           c5cac1c4b3c66d42e609d088d174dbc3dd44469a
> pull-requests-6  true     true        true      true      100.0           6a466ad6b896a3499509990979bf9a18d7d41de3
> repos-6          true     true        true      true      100.0           6c8b5fbba0fc1e409558db411d05e092c1387082
> users-5          true     true        true      true      100.0           38984875552bb826c9ec42999f409cb2e95556eb
> wikis-4          true     true        true      true      100.0           2613dec44bd14e14577803ac1f9e4b7e07a7c234

ghe-legacy-github-services-report

Este utilitário lista os repositórios no appliance que usam o GitHub Services, um método de integração que será descontinuado em 1 de outubro de 2018. Os usuários do seu appliance podem ter configurado o GitHub Services para criar notificações de pushes em determinados repositórios. Para obter mais informações, consulte "Anunciando a descontinuidade dos serviços do GitHub" no the GitHub Blog. Para saber mais sobre este comando ou ver opções adicionais, use o sinalizador -h.

ghe-legacy-github-services-report

ghe-logs-tail

Este utilitário permite registrar todos os arquivos de log relevantes da sua instalação. Você pode passar as opções para limitar os logs a conjuntos específicos. Para consultar opções adicionais, use o sinalizador -h.

ghe-logs-tail

ghe-maintenance

Este utilitário permite controlar o estado do modo de manutenção da instalação. Ele foi desenvolvido para uso principalmente nos bastidores do Console de Gerenciamento, mas também pode ser usado diretamente. Para obter mais informações, confira "Habilitar e programar o modo de manutenção".

ghe-maintenance -h

ghe-motd

Este utilitário exibe novamente a mensagem do dia (MOTD) que os administradores veem quando acessam a instância através do shell administrativo. A saída contém uma visão geral do estado da instância.

ghe-motd

ghe-nwo

Este utilitário retorna o nome e o proprietário de um repositório com base no ID do repositório.

ghe-nwo REPOSITORY_ID

ghe-org-admin-promote

Use este comando para conceder privilégios de proprietário da organização a usuários com privilégios de administrador do site no appliance ou a qualquer usuário em uma única organização. Você deve especificar um usuário e/ou organização. O comando ghe-org-admin-promote sempre solicitará a confirmação antes da execução, a menos que você use o sinalizador -y para ignorar a confirmação.

É possível usar estas opções com o utilitário:

  • O sinalizador -u especifica um nome de usuário. Use este sinalizador para conceder privilégios de proprietário da organização a um usuário. Omita o sinalizador -u para promover todos os administradores do site à organização especificada.
  • O sinalizador -o especifica uma organização. Use este sinalizador para conceder privilégios de proprietário em uma organização. Omita o sinalizador -o para conceder permissões de proprietário em todas as organizações a um administrador do site especificado.
  • O sinalizador -a concede privilégios de proprietário em todas as organizações a todos os administradores do site.
  • O sinalizador -y ignora a confirmação manual.

Este utilitário não pode promover um administrador externo a proprietário de todas as organizações. Você pode promover uma conta de usuário comum a administrador do site com ghe-user-promote.

Conceder privilégios de proprietário da organização em uma organização específica para um administrador específico do site

ghe-org-admin-promote -u USERNAME -o ORGANIZATION

Conceder privilégios de proprietário da organização a um administrador do site em todas as organizações

ghe-org-admin-promote -u USERNAME

Conceder privilégios de proprietário da organização a todos os administradores do site em uma organização específica

ghe-org-admin-promote -o ORGANIZATION

Conceder privilégios de proprietário da organização a todos os administradores do site em todas as organizações

ghe-org-admin-promote -a

ghe-reactivate-admin-login

Use este comando para desbloquear imediatamente o Console de Gerenciamento após um bloqueio de conta. Para configurar políticas de autenticação no sua instância do GitHub Enterprise Server, confira "Como configurar limites de taxa".

ghe-reactivate-admin-login

ghe-saml-mapping-csv

Esse utilitário permite que os administradores produzam ou atualizem os mapeamentos de NameID do SAML para os usuários em uma instância. O utilitário pode gerar um arquivo CSV que lista todos os mapeamentos existentes. Você também pode atualizar os mapeamentos para os usuários na sua instância editando o arquivo resultante e, em seguida, usando o utilitário para atribuir novos mapeamentos por meio do arquivo.

Para gerar um arquivo CSV que contém uma lista de todos os mapeamentos de NameID do SAML do usuário na instância, execute o comando a seguir.

ghe-saml-mapping-csv -d

Por padrão, o utilitário grava o arquivo em /data/user/tmp.

Se você pretende atualizar os mapeamentos, para garantir que o utilitário possa acessar o arquivo, recomendamos que você mantenha o arquivo no local padrão.

Para se preparar para atualizar os mapeamentos, edite o arquivo e faça as alterações desejadas. Para ver o resultado da atualização dos mapeamentos usando os novos valores no arquivo CSV editado, execute uma simulação. Execute o comando a seguir, substituindo /PATH/TO/FILE pelo caminho real do arquivo editado.

ghe-saml-mapping-csv -u -n -f /PATH/TO/FILE

Para atualizar os mapeamentos do SAML na instância com novos valores do arquivo, execute o comando a seguir, substituindo /PATH/TO/FILE pelo caminho real do arquivo editado.

ghe-saml-mapping-csv -u -f /PATH/TO/FILE

ghe-service-list

Este utilitário lista todos os serviços iniciados ou parados (em execução ou em espera) no appliance.

$ ghe-service-list

active
  - alambic
  - alive
  - aqueduct-lite
  - authzd
  - babeld
  - codeload
  - consul, process 17114
  - consul-template, process 19493
  - driftwood
  - elasticsearch
  - enterprise-manage-unicorn, process 9359
  - ghe-user-disk, process 2545
  - git-daemon
  - github-env
  - github-gitauth
  - github-resqued
  - github-stream-processors
  - github-timerd
  - github-unicorn
  - gitrpcd
  - governor
  - gpgverify
  - grafana-server, process 19314
  - graphite-web, process 20189
  - hookshot-go
  - kafka-lite
  - kredz
  - lfs-server
  - mail-replies
  - memcached
  - minio
  - mysql
  - nginx
  - nomad, process 19562
  - pages
  - postfix
  - redis
  - spokesd
  - spokes-sweeper
  - svnbridge
  - token-scanning-api
  - token-scanning-backfill-worker
  - token-scanning-hydro-consumer
  - token-scanning-incremental-worker
  - token-scanning-udp-backfill-worker
  - treelights
  - turboscan
  - viewscreen

inactive
  - wireguard

ghe-set-password

Esse utilitário permite que você defina uma nova senha de administrador do site raizpara autenticação no Console de Gerenciamento. Para obter mais informações, confira "Como gerenciar o acesso ao Console de Gerenciamento".

ghe-set-password

ghe-setup-network

Esse utilitário permite que você configure o adaptador de rede primário.

Para inserir o modo visual, que orientará você nas configurações de rede:

ghe-setup-network -v

Para consultar opções adicionais, use o sinalizador -h.

ghe-ssh-check-host-keys

Este utilitário verifica as chaves do host SSH atuais para identificar chaves vazadas conhecidas.

ghe-ssh-check-host-keys

Se for encontrada uma chave de host vazada, o utilitário sairá com o status 1 e a seguinte mensagem:

> One or more of your SSH host keys were found in the blacklist.
> Please reset your host keys using ghe-ssh-roll-host-keys.

Se não forem encontradas chaves de host vazadas, o utilitário sairá com o status 0 e a seguinte mensagem:

> The SSH host keys were not found in the SSH host key blacklist.
> No additional steps are needed/recommended at this time.

ghe-ssh-roll-host-keys

Este utilitário acumula as chaves do host SSH e as substitui por chaves recém-geradas.

$ sudo ghe-ssh-roll-host-keys
Proceed with rolling SSH host keys? This will delete the
existing keys in /etc/ssh/ssh_host_* and generate new ones. [y/N]

# Press 'Y' to confirm deleting, or use the -y switch to bypass this prompt

> SSH host keys have successfully been rolled.

ghe-ssh-weak-fingerprints

Este utilitário retorna um relatório de chaves SSH fracas conhecidas armazenadas no appliance do GitHub Enterprise. Você também pode revogar as chaves do usuário como uma ação em lote. O utilitário relatará as chaves fracas do sistema, que você precisará revogar manualmente no Console de Gerenciamento.

# Print a report of weak user and system SSH keys
$ ghe-ssh-weak-fingerprints

# Revoke all weak user keys
$ ghe-ssh-weak-fingerprints --revoke

ghe-ssl-acme

Este utilitário permite instalar um certificado Let's Encrypt no seu appliance do GitHub Enterprise. Para obter mais informações, confira "Configurar o TLS".

Use o sinalizador -x para remover a configuração ACME.

ghe-ssl-acme -e

ghe-ssl-ca-certificate-install

Este utilitário permite instalar um certificado CA personalizado de raiz no seu appliance do GitHub Enterprise. O certificado deve estar no formato PEM. Além disso, se o provedor de certificado incluir vários certificados de AC em um só arquivo, você precisará separá-los em arquivos que serão transmitidos individualmente para ghe-ssl-ca-certificate-install.

Execute este utilitário para adicionar uma cadeia de certificados para verificação de assinatura de commits S/MIME. Para obter mais informações, confira "Sobre a verificação de assinatura de commit".

Execute este utilitário quando a sua instância do GitHub Enterprise Server não conseguir se conectar a outro servidor por estar usando um certificado SSL autoassinado ou um certificado SSL que não tem o pacote da AC necessário. Uma forma de confirmar isso é executar openssl s_client -connect host:port -verify 0 -CApath /etc/ssl/certs em sua instância do GitHub Enterprise Server. Se o certificado SSL do servidor remoto puder ser verificado, a SSL-Session terá um código de retorno igual a 0, conforme mostrado abaixo.

SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA
    Session-ID: C794EBCC3CBC10F747C9AFC029C03C1048FC99CFC34D13D7444E0F267C58DF4C
    Session-ID-ctx:
    Master-Key: 02A7C47CFD6EEC87D3C710E9DD87390E04EF82DDD7514AE03127D5DC1945FC0CAEFB5395791AEA598667EFA61B9EA8C5
    Key-Arg   : None
    Start Time: 1394581597
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

Por outro lado, se o certificado SSL do servidor remoto não puder ser verificado, a SSL-Session terá um código de retorno diferente de zero:

SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA
    Session-ID: 82CB288051A6DB66094C50A69CF1292AEE7E54C6B01B659B98AB336F8C33863E
    Session-ID-ctx:
    Master-Key: 01B025B2F764043A27919A8D1355AAECD8844FF0831B1D664042334790574A6F4025BAB085D4ED71D71AAB3091B849E5
    Key-Arg   : None
    Start Time: 1394581782
    Timeout   : 300 (sec)
    Verify return code: 27 (certificate not trusted)

É possível usar estas opções adicionais com o utilitário:

  • O sinalizador -r permite desinstalar um Certificado de Autoridade de Certificação.
  • O sinalizador -h exibe mais informações de uso.
ghe-ssl-ca-certificate-install -c CERTIFICATE_PATH

Para aplicar a configuração, execute o comando a seguir. 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

ghe-ssl-certificate-setup

Esse utilitário permite atualizar um certificado SSL para sua instância do GitHub Enterprise Server.

Para saber mais sobre este comando ou ver opções adicionais, use o sinalizador -h.

/usr/local/share/enterprise/ghe-ssl-certificate-setup

ghe-ssl-generate-csr

Com este utilitário, você pode gerar uma chave privada e uma solicitação de assinatura de certificado (CSR, Certificate Signing Request) a ser compartilhada com uma autoridade certificada comercial ou privada para obter um certificado válido na sua instância. Para obter mais informações, confira "Configurar o TLS".

Para saber mais sobre este comando ou ver opções adicionais, use o sinalizador -h.

ghe-ssl-generate-csr

ghe-storage-extend

Algumas plataformas exigem este script para aumentar o volume de usuários. Para obter mais informações, confira "Aumentar a capacidade de armazenamento".

ghe-storage-extend

ghe-version

Esse utilitário imprime a versão, a plataforma e o build de sua instância do GitHub Enterprise Server.

ghe-version

ghe-webhook-logs

Este utilitário retorna logs de entrega de webhook para os administradores revisarem e identificarem problemas.

ghe-webhook-logs

Para exibir todas as entregas de hook com falha do último dia:

ghe-webhook-logs -f -a YYYY-MM-DD

O formato de data deve ser YYYY-MM-DD, YYYY-MM-DD HH:MM:SS ou YYYY-MM-DD HH:MM:SS (+/-) HH:M.

Para exibir a carga útil total do hook, o resultado e quaisquer exceções para a entrega:

ghe-webhook-logs -g DELIVERY_GUID

Clustering

ghe-cluster-balance

Este utilitário permite impor uma distribuição uniforme de alocações nos nós do cluster verificando o status das alocações do cluster e reequilibrando as alocações problemáticas. Para obter mais informações, confira "Rebalancear as cargas de trabalho do cluster".

Para gerar uma lista de trabalhos balanceáveis e suas respectivas distribuições de alocação, faça o seguinte:

ghe-cluster-balance status

Para gerar contagens de alocação com relação a um determinado trabalho ou uma lista de trabalhos delimitada por vírgula, faça o seguinte:

ghe-cluster-balance -j JOB

Para reequilibrar alocações problemáticas com relação a um determinado trabalho ou uma lista de trabalhos delimitada por vírgula, faça o seguinte:

ghe-cluster-balance rebalance -j JOB

É possível usar os seguintes sinalizadores com ghe-cluster-balance rebalance.

SinalizadorDescrição
-j/--job-namesEspecifique os trabalhos que serão reequilibrados. Aceita um nome de trabalho ou uma lista de nomes delimitada por vírgula.
-n/--dry-runEmita as operações do Nomad que serão executadas pelo utilitário, sem realmente executá-las. Pode ser usado com -j/--job-name.
-y/--yesIgnore o prompt do usuário.
w/--workersEspecifique o número máximo de trabalhos simultâneos após o qual ocorrerá a parada e a espera pela conclusão da realocação. O valor padrão é 4.
-t/--timeoutEspecifique quantos segundos esperar por uma alocação interrompida antes de substituir um trabalho. O padrão é 300 segundos.

Para gerar scripts de conclusão com relação ao shell fornecido, faça o seguinte:

ghe-cluster-balance completion

Para exibir uma breve descrição do utilitário e quaisquer subcomandos válidos:

ghe-cluster-balance help

ghe-cluster-maintenance

Com o utilitário ghe-cluster-maintenance, você pode definir o modo de manutenção para cada nó em um cluster ou cancelar a definição dele.

$ ghe-cluster-maintenance -h
# Shows options
$ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
$ ghe-cluster-maintenance -u
# Unsets maintenance mode

ghe-cluster-status

Verifique a saúde dos seus nós e serviços em uma implantação de clustering de GitHub Enterprise Server.

ghe-cluster-status

ghe-cluster-support-bundle

Este utilitário cria um pacote de suporte tarball com logs importantes de cada nó em configurações de replicação geográfica ou de cluster.

Por padrão, o comando cria o tarball em /tmp, mas você também pode executar cat no tarball para STDOUT a fim de facilitar o streaming via SSH. Isso é útil caso a interface da Web não responda ou caso o download de um pacote de suporte de /setup/support não funcione. Você precisa usar este comando caso deseje gerar um pacote estendido, contendo logs mais antigos. Também é possível usá-lo para fazer upload do pacote de suporte de cluster diretamente para o suporte do GitHub Enterprise.

Para criar um pacote padrão:

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -o' > cluster-support-bundle.tgz

Para criar um pacote padrão, incluindo dados dos últimos dois dias:

ssh -p 122 admin@HOSTNAME -- "ghe-cluster-support-bundle -p 2days  -o" > support-bundle.tgz

Para criar um pacote estendido, incluindo os dados dos últimos oito dias:

ssh -p 122 admin@HOSTNAME -- ghe-cluster-support-bundle -x -o' > cluster-support-bundle.tgz

Para enviar um pacote para Suporte do GitHub:

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -u'

Para enviar um pacote para Suporte do GitHub e associar o pacote a um tíquete:

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -t TICKET_ID'

ghe-dpages

Este utilitário permite que você gerencie o servidor distribuído GitHub Pages.

ghe-dpages

Para mostrar um resumo da localização e saúde do repositório:

ghe-dpages status

Para evacuar um serviço de armazenamento GitHub Pages antes de evacuar um nó de cluster:

ghe-dpages evacuate pages-server-UUID

ghe-spokesctl

Este utilitário permite gerenciar a replicação de repositórios nos servidores Git distribuídos.

ghe-spokesctl

Para mostrar os servidores em que o repositório está armazenado, faça o seguinte:

ghe-spokesctl routes

Para evacuar os serviços de armazenamento em um nó de cluster:

ghe-spokesctl server set evacuating git-server-UUID

ghe-storage

Este utilitário permite remover todos os serviços de armazenamento antes de remover um nó de cluster.

ghe-storage evacuate storage-server-UUID

NES

Este utilitário permite monitorar a integridade dos nós de cluster usando o Node Eligibility Service. Por padrão, o Node Eligibility Service está desabilitado. Para obter mais informações, confira "Monitorar a integridade dos nós de cluster com o Serviço de Qualificação de Nó".

Para exibir a integridade dos nós de cluster, faça o seguinte:

nes get-cluster-health

Para verificar as configurações de TTL, faça o seguinte:

nes get-node-ttl all

Para definir o TTL do estado fail em minutos, faça o seguinte:

nes set-node-ttl fail MINUTES

O TTL do estado fail deve ser maior que o TTL do estado warn.

Para definir o TTL do estado warn em minutos, faça o seguinte:

nes set-node-ttl warn TIME

Para verificar se o Node Eligibility Service pode executar uma ação administrativa quando um nó com o nome de host HOSTNAME fica offline, faça o seguinte:

nes get-node-adminaction HOSTNAME

Para permitir que o Node Eligibility Service execute automaticamente uma ação administrativa quando um nó com o nome de host HOSTNAME ficar offline, faça o seguinte:

nes set-node-adminaction approved HOSTNAME

Para revogar a capacidade do Node Eligibility Service de colocar o nó com o nome de host HOSTNAME offline, faça o seguinte:

nes set-node-adminaction approved HOSTNAME

Para atualizar manualmente a qualificação de um nó para reingresso no cluster, faça o seguinte:

nes set-node-eligibility eligible HOSTNAME

Git

ghe-btop

Uma interface do tipo top para as operações atuais do Git.

ghe-btop [ <port number> | --help | --usage ]

ghe-governor

Este utilitário ajuda a analisar o tráfego do Git. Ele consulta arquivos de dados do Governor, localizados em /data/user/gitmon. GitHub mantém uma hora de dados por arquivo, retidos por duas semanas. Para obter mais informações, confira Como analisar o tráfego do Git usando o Governor no GitHub Community.

ghe-governor <subcommand> <column> [options]
ghe-governor -h
Usage: ghe-governor [-h] <subcommand> args

OPTIONS:
  -h | --help        Show this message.

Valid subcommands are:
  aggregate              Find the top (n) groups of queries for a grouping function and metric
  health                 Summarize all recent activity on one or more servers
  top                    Find the top (n) queries for a given metric
  dump                   Dump individual operations
  test-quotas            Check quota information

Try ghe-governor <subcommand> --help for more information on the arguments each subcommand takes.

ghe-repo

Este utilitário permite alterar para o diretório de um repositório e abrir um shell interativo como o usuário do git. Você pode fazer a inspeção ou a manutenção manual de um repositório usando comandos como git-* ou git-nw-*.

ghe-repo USERNAME/REPONAME

ghe-repo-gc

Este utilitário reempacota manualmente uma rede de repositórios para otimizar o armazenamento do pacote. Se você tem um repositório muito grande, esse comando pode ajudar a reduzir o tamanho. O GitHub Enterprise executa automaticamente este comando durante toda a sua interação com uma rede de repositórios.

Adicione o argumento opcional --prune para remover objetos do Git inacessíveis que não são referenciados em um branch, uma marca ou em nenhuma outra referência. Isso é particularmente útil para remover de imediato as informações confidenciais já eliminadas.

ghe-repo-gc USERNAME/REPONAME

GitHub Actions

ghe-actions-check

Este utilitário verifica se todos os serviços para GitHub Actions são saudáveis. Para obter mais informações, confira "Primeiros passos com o GitHub Actions para o GitHub Enterprise Server" e "Solucionar problemas no GitHub Actions para a sua empresa".

ghe-actions-check

ghe-actions-precheck

Esse utilitário testa a configuração do armazenamento do blobs do GitHub Actions em sua instância do GitHub Enterprise Server. Você pode usar o utilitário para verificar sua configuração de armazenamento antes de habilitar o GitHub Actions para sua instância.

Para obter mais informações sobre a configuração do GitHub Actions, confira "Primeiros passos com o GitHub Actions para o GitHub Enterprise Server".

Observação: esse utilitário só funciona com configurações que usam uma conexão baseada em credenciais com o provedor de armazenamento. Ele não funciona com configurações do OIDC (OpenID Connect).

ghe-actions-precheck -p [PROVIDER] -cs ["CONNECTION-STRING"]

Se o sistema de armazenamento estiver configurado corretamente, você verá a seguinte saída.

All Storage tests passed

ghe-actions-stop

Este utilitário para a execução do GitHub Actions em sua instância do GitHub Enterprise Server.

Observações:

  • Normalmente, você só executa esse procedimento se entrou em contato com o suporte e foi orientado para tomar essa medida.
  • Em configurações de alta disponibilidade, execute este comando no primário.

ghe-actions-start

Este utilitário inicia o GitHub Actions em sua instância do GitHub Enterprise Server depois de ter sido parado anteriormente.

Observações:

  • Normalmente, você só executa esse procedimento se entrou em contato com o suporte e foi orientado para tomar essa medida.
  • Em configurações de alta disponibilidade, execute este comando no primário.

Se o seu sistema estiver configurado corretamente, você verá a seguinte saída:

Actions was enabled!

Alta disponibilidade

ghe-repl-promote

Este comando desabilita a replicação em um nó de réplica existente e converte esse nó em um primário usando as mesmas configurações do nó primário original. Todos os serviços de replicação estão habilitados. Para obter mais informações, confira "Iniciar failover do appliance réplica".

Promover uma réplica não configura automaticamente a replicação para appliances existentes. Depois de promover uma réplica, se desejar, você pode configurar a replicação do novo principal para os appliances existentes e o principal anterior.

ghe-repl-promote

ghe-repl-setup

Execute este utilitário em um nó existente para começar a habilitar uma configuração de alta disponibilidade. O utilitário coloca o nó em modo de espera antes de permitir o início da replicação com ghe-repl-start. Para obter mais informações, confira "Criar réplica de alta disponibilidade".

Depois de executar o utilitário, a configuração a seguir ocorre no nó.

  • Um túnel VPN criptografado do WireGuard é estabelecido para comunicação entre os nós.
  • Os serviços de banco de dados são configurados para replicação e iniciados.
  • Os serviços de aplicativos ficam desabilitados. As tentativas de acessar o nó de réplica por HTTP ou HTTPS, Git ou outros protocolos compatíveis exibe a mensagem "Servidor em modo de replicação", uma página de manutenção ou uma mensagem de erro.

Ao executar esse utilitário, substitua PRIMARY-NODE-IP pelo endereço IP do nó primário da instância.

ghe-repl-setup PRIMARY-NODE-IP

ghe-repl-start

Este utilitário inicia a replicação de todos os armazenamentos de dados em um nó. Execute esse utilitário após a execução de ghe-repl-setup. Para obter mais informações, confira "Criar réplica de alta disponibilidade".

ghe-repl-start

ghe-repl-status

Este utilitário exibe o status da replicação em um nó, retornando um status OK, WARNING ou CRITICAL para cada fluxo de replicação do armazenamento de dados. Para obter mais informações, confira "Monitorar uma configuração de alta disponibilidade".

  • Se algum dos canais de replicação estiver em um estado WARNING, o comando será encerrado com o código 1.
  • Se você não tiver iniciado a replicação, o comando sairá com o código 1.
  • Se algum dos canais estiver em um estado CRITICAL, o comando será encerrado com o código 2.
  • A saída está em conformidade com as expectativas do plug-in check_by_ssh do Nagios. Para saber mais, confira Plug-in check_by_ssh na página oficial de plug-ins do Nagios.
ghe-repl-status

As opções -v e -vv fornecem detalhes adicionais sobre o estado de replicação de cada armazenamento de dados.

ghe-repl-status -v

ghe-repl-stop

Este comando desabilita temporariamente a replicação de todos os armazenamentos de dados em um nó de réplica existente. Todos os serviços de replicação são interrompidos. Para retomar a replicação, use ghe-repl-start.

ghe-repl-stop

ghe-repl-teardown

Este utilitário desabilita completamente a replicação em um nó de réplica existente, removendo a configuração da réplica. Embora seja possível executar o comando a seguir em um nó de réplica, se ele estiver inacessível, também será possível executar o comando no nó primário.

ghe-repl-teardown

Importação e exportação

ghe-migrator

O ghe-migrator é uma ferramenta de alta fidelidade que ajuda a fazer migrações de uma instância do GitHub para outra. Você pode consolidar suas instâncias ou mover a organização, os usuários, as equipes e os repositórios do GitHub.com para o GitHub Enterprise.

Para obter mais informações, confira nossos guias sobre como migrar dados na sua empresa.

git-import-detect

Em uma URL, detecta qual tipo de sistema de gerenciamento de controle de origem está na outra extremidade. Provavelmente esse processo já é conhecido nas importações manuais, mas pode ser muito útil em scripts automatizados.

git-import-detect

git-import-hg-raw

Este utilitário importa um repositório Mercurial para este repositório Git. Para obter mais informações, confira "Importação de outros sistemas de controle de versão com o shell administrativo".

git-import-hg-raw

git-import-svn-raw

Este utilitário importa histórico do Subversion e dados de arquivos para um branch do Git. Trata-se de uma cópia direta da árvore, ignorando qualquer distinção de trunk ou branch. Para obter mais informações, confira "Importação de outros sistemas de controle de versão com o shell administrativo".

git-import-svn-raw

git-import-tfs-raw

Este utilitário faz a importação a partir do Controle de Versão da Fundação da Equipe (TFVC). Para obter mais informações, confira "Importação de outros sistemas de controle de versão com o shell administrativo".

git-import-tfs-raw

git-import-rewrite

Este utilitário reescreve o repositório importado. Isso dá a você a oportunidade de renomear autores e, para o Subversion e TFVC, produz branches Git baseados em pastas. Para obter mais informações, confira "Importação de outros sistemas de controle de versão com o shell administrativo".

git-import-rewrite

Segurança

ghe-find-insecure-git-operations

Esse utilitário pesquisa os logs da instância e identifica as operações do Git por SSH que usam algoritmos inseguros ou funções de hash, incluindo criptografias DSA, RSA-SHA-1, HMAC-SHA-1 e CBC. Você pode usar a saída para dar suporte à transição de cada cliente para uma conexão SSH mais segura. Para obter mais informações, confira the GitHub Blog e "Como configurar conexões SSH para sua instância."

ghe-find-insecure-git-operations

Suporte

ghe-diagnostics

Este utilitário faz uma série de verificações e reúne informações sobre a instalação que você pode enviar ao suporte para ajudar a diagnosticar problemas.

No momento, a saída do utilitário é semelhante ao download das informações de diagnóstico no Console de Gerenciamento, mas ele pode ter melhorias adicionais ao longo do tempo que não estão disponíveis na interface da web. Para obter mais informações, confira "Fornecer dados para o GitHub Support".

ghe-diagnostics

ghe-support-bundle

Observação: se o sua instância do GitHub Enterprise Server estiver em uma configuração de replicação geográfica ou se a sua instância for um cluster, use o comando ghe-cluster-support-bundle para recuperar o pacote de suporte. Para obter mais informações, confira "Utilitários de linha de comando".

Este utilitário cria um pacote de suporte tarball com logs importantes da sua instância.

Por padrão, o comando cria o tarball em /tmp, mas você também pode executar cat no tarball para STDOUT a fim de facilitar o streaming via SSH. Isso é útil caso a interface da Web não responda ou caso o download de um pacote de suporte de /setup/support não funcione. Você precisa usar este comando caso deseje gerar um pacote estendido, contendo logs mais antigos. Também é possível usá-lo para fazer upload do pacote de suporte diretamente para o suporte do GitHub Enterprise.

Para criar um pacote padrão:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz

Para criar um pacote padrão, incluindo dados dos últimos dois dias:

ssh -p 122 admin@HOSTNAME -- "ghe-support-bundle -p 2days  -o" > support-bundle.tgz

Para criar um pacote estendido, incluindo os dados dos últimos oito dias:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -x -o' > support-bundle.tgz

Para enviar um pacote para Suporte do GitHub:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -u'

Para enviar um pacote para Suporte do GitHub e associar o pacote a um tíquete:

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -t TICKET_ID'

ghe-support-upload

Este utilitário envia informações do seu appliance para o suporte do GitHub Enterprise. Você pode especificar um arquivo local ou fornecer um fluxo de até 100 MB de dados por meio de STDIN. Os dados carregados também podem ser associados a um tíquete de suporte.

Para enviar um arquivo para Suporte do GitHub e associar o arquivo a um tíquete:

ghe-support-upload -f FILE_PATH -t TICKET_ID

Para carregar dados por meio de STDIN e associá-los a um tíquete:

ghe-repl-status -vv | ghe-support-upload -t TICKET_ID -d "Verbose Replication Status"

Neste exemplo, ghe-repl-status -vv envia informações de status detalhadas em um dispositivo de réplica. Substitua ghe-repl-status -vv pelos dados específicos que deseja transmitir para STDIN e Verbose Replication Status por uma breve descrição dos dados. Normalmente, você só executa esse procedimento se entrou em contato com o suporte e foi orientado para tomar essa medida.

Atualização do GitHub Enterprise Server

ghe-check-background-upgrade-jobs

Durante uma atualização para uma versão de recurso, esse utilitário exibe o status dos trabalhos em segundo plano no sua instância do GitHub Enterprise Server. Se você estiver com atualizações consecutivas em execução, deverá usar esse utilitário para verificar se todos os trabalhos em segundo plano foram concluídos antes de prosseguir com a próxima atualização.

Observação: para usar ghe-check-background-upgrade-jobs com o GitHub Enterprise Server na versão 3.9, a instância deve executar a versão 3.9.7 ou versões posteriores.

ghe-check-background-upgrade-jobs

ghe-migrations

Durante uma atualização para uma versão de recurso, este utilitário exibe o status das migrações de banco de dados ativas no sua instância do GitHub Enterprise Server. A saída inclui um identificador de versão para a migração, além do nome, do status e da duração atual dela.

Para exibir a lista de migrações, faça o seguinte:

ghe-migrations

Por padrão, o utilitário gera uma tabela com 10 linhas. Para ajustar a altura da tabela em linhas, faça o seguinte:

ghe-migrations -height LINES

Por padrão, o visualizador é atualizado a cada segundo. Para especificar o tempo em segundos até a atualização do visualizador, faça o seguinte:

ghe-migrations -refresh_rate SECONDS

ghe-update-check

Este utilitário verificará se uma nova versão do patch do GitHub Enterprise está disponível. Se estiver e se houver espaço disponível na sua instância, ele baixará o pacote. Por padrão, ele é salvo em /var/lib/ghe-updates. Em seguida, um administrador pode executar a atualização.

Um arquivo contendo o status do download fica disponível em /var/lib/ghe-updates/ghe-update-check.status.

Para verificar a última versão do GitHub Enterprise, use a opção -i.

ssh -p 122 admin@HOSTNAME -- 'ghe-update-check'

ghe-upgrade

Este utilitário instala ou verifica um pacote de atualização. Também é possível usá-lo para voltar a uma versão de patch em casos de falha ou interrupção de uma atualização. Para obter mais informações, confira "Atualizar o GitHub Enterprise Server".

Para verificar um pacote de atualização:

ghe-upgrade --verify UPGRADE-PACKAGE-FILENAME

Para instalar um pacote de atualização:

ghe-upgrade UPGRADE-PACKAGE-FILENAME

Ao reverter uma atualização, você precisa usar um arquivo de pacote de atualização com a extensão .pkg. Não há suporte para arquivos de pacote de patch dinâmico com a extensão .hpkg.

ghe-upgrade --allow-patch-rollback EARLIER-RELEASE-UPGRADE-PACKAGE.pkg

É necessário reinicializar após a execução do comando. Reverter não afeta a partição de dados, pois as migrações não são executadas nas versões de patch.

ghe-upgrade-scheduler

Este utilitário gerencia a instalação programada de pacotes de atualização. Você pode exibir, criar ou remover instalações programadas. Crie as programações usando expressões cron. Para obter mais informações, confira a entrada do Cron na Wikipédia.

O utilitário ghe-upgrade-scheduler é mais adequado para agendar atualizações de patch dinâmico, que não requerem modo de manutenção ou reinicialização na maioria dos casos. Esse utilitário não é prático para atualizações completas de pacote, que exigem que um administrador defina manualmente o modo de manutenção, reinicialize a instância e desinstale o modo de manutenção. Para obter mais informações sobre os diferentes tipos de atualizações, confira "Atualizar o GitHub Enterprise Server".

Para agendar uma nova instalação para um pacote:

ghe-upgrade-scheduler -c "0 2 15 12 *" UPGRADE-PACKAGE-FILENAME

Para exibir instalações programadas para um pacote:

$ ghe-upgrade-scheduler -s UPGRADE PACKAGE FILENAME
> 0 2 15 12 * /usr/local/bin/ghe-upgrade -y -s UPGRADE-PACKAGE-FILENAME > /data/user/common/UPGRADE-PACKAGE-FILENAME.log 2>&1

Para remover instalações programadas para um pacote:

ghe-upgrade-scheduler -r UPGRADE PACKAGE FILENAME

Gerenciamento de Usuários

ghe-license-usage

Este utilitário exporta uma lista de usuários da instalação em formato JSON. Se sua instância estiver conectada ao GitHub Enterprise Cloud, GitHub Enterprise Server usa essa informação para reportar informações de licenciamento ao GitHub Enterprise Cloud. Para obter mais informações, confira "Gerenciando o GitHub Connect".

Por padrão, a lista de usuários no arquivo JSON resultante é criptografada. Use o sinalizador -h para ver mais opções.

ghe-license-usage

ghe-org-membership-update

Este utilitário aplicará a configuração padrão de visibilidade da associação da organização a todos os integrantes da sua instância. Para obter mais informações, confira "Configurar a visibilidade dos integrantes da organização". As opções de configuração são public ou private.

ghe-org-membership-update --visibility=SETTING

ghe-user-csv

Este utilitário exporta uma lista de todos os usuários na instalação em formato CSV. O arquivo CSV inclui o endereço de email, o tipo de usuário (por exemplo, administrador, usuário), a quantidade de repositórios, chaves SSH e associações a uma organização, o último endereço IP registrado etc. Use o sinalizador -h para ver mais opções.

ghe-user-csv -o > users.csv

ghe-user-demote

Este utilitário rebaixa o usuário especificado do status de administrador para o status de usuário regular. Recomendamos usar a interface do usuário da Web para executar esta ação, mas forneça esse utilitário em caso de erro na execução do utilitário ghe-user-promote e se você precisar rebaixar um usuário novamente por meio da CLI.

ghe-user-demote USERNAME

ghe-user-promote

Este utilitário promove a conta de usuário especificada a administrador do site.

ghe-user-promote USERNAME

ghe-user-suspend

Este utilitário suspende o usuário especificado, impedindo-o de fazer login, push ou pull nos seus repositórios.

ghe-user-suspend USERNAME

ghe-user-unsuspend

Este utilitário cancela a suspensão do usuário especificado, liberando o acesso para fazer login, push ou pull nos seus repositórios.

ghe-user-unsuspend USERNAME