Skip to main content

Sincronizar ações manualmente de GitHub.com

Para usuários que precisam acessar as ações a partir de GitHub.com, você pode sincronizar ações específicas para sua empresa.

Observação

No momento, não há suporte para executores hospedados no GitHub no GitHub Enterprise Server.

O GitHub Actions em GitHub Enterprise Server foi projetado para funcionar em ambientes sem acesso total à Internet. Por padrão, os fluxos de trabalho não podem usar ações de GitHub.com e GitHub Marketplace.

Recomendamos habilitar o acesso automático a ações públicas usando o GitHub Connect para integrar o GitHub Enterprise Server ao GitHub Enterprise Cloud. Consulte AUTOTITLE

Se você quiser um controle mais rigoroso sobre quais ações são permitidas em sua empresa, siga este guia para usar nossa ferramenta código aberto actions-sync para sincronizar repositórios de ações individuais de GitHub.com de dados para sua empresa.

Quando você atualiza o GitHub Enterprise Server, as ações em pacote são substituídas automaticamente pelas versões padrão do pacote de atualização. Estas podem não ser a versão mais recente disponível. Como melhor prática, se você usar a função para atualizar as ações, sempre deverá executá-la novamente após qualquer atualização do GitHub Enterprise Server (maior ou menor), para garantir que as ações permaneçam atualizadas.

Sobre a ferramenta

A ferramenta precisa ser executada em um computador que possa acessar a API do GitHub.com e a API da instância do GitHub Enterprise Server. A máquina não precisa estar conectada a ambos ao mesmo tempo.

Se o computador tiver acesso a ambos os sistemas ao mesmo tempo, você poderá fazer a sincronização com um único comando . Se você só puder acessar um sistema por vez, use os comandos e .

A ferramenta só consegue baixar ações do GitHub.com que estão armazenadas em repositórios públicos.

Observação

A ferramenta destina-se ao uso em sistemas em que o GitHub Connect não está habilitado. Se você executar a ferramenta em um sistema com GitHub Connect habilitado, poderá ver o erro . Isso indica que um fluxo de trabalho usou essa ação diretamente no GitHub.com e o namespace está desativado em sua instância do GitHub Enterprise Server. Consulte AUTOTITLE

Pré-requisitos

  • Antes de usar a ferramenta , você deve garantir que todas as organizações de destino já existam em sua empresa. O exemplo a seguir demonstra como sincronizar ações com uma organização chamada . Consulte AUTOTITLE

  • Você precisa criar um personal access token na sua empresa que possa criar e escrever em repositórios das organizações de destino. Consulte AUTOTITLE

  • Se você quiser sincronizar as ações agrupadas na organização com sua instância do GitHub Enterprise Server, deve ser dono da organização.

    Observação

    Por padrão, os administradores do site não são proprietários da organização agrupada.

    Os administradores do site podem usar o comando no shell administrativo para promover um usuário a proprietário da organização agrupada. Confira AUTOTITLE e AUTOTITLE.

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

Exemplo: Usando a ferramenta

Este exemplo demonstra o uso da ferramenta para sincronizar uma ação individual do GitHub.com com uma instância corporativa.

Observação

Este exemplo usa o comando , que exige acesso simultâneo à API do GitHub.com e à API da instância empresarial do seu computador. Se você só puder acessar um sistema por vez, use os comandos e . Veja o LEIA-ME.

  1. Baixe e extraia a versão mais recente para o sistema operacional do computador.

  2. Crie um diretório para armazenar arquivos em cache para a ferramenta.

  3. No terminal, altere para o diretório específico dentro do release que você acabou de extrair. Por exemplo:

    cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin
    
  4. Executar o comando :

    ./actions-sync sync \
      --cache-dir "cache" \
      --destination-token "aabbccddeeffgg" \
      --destination-url "https://my-ghes-instance" \
      --repo-name "actions/stale:synced-actions/actions-stale"
    

    O comando acima usa os seguintes argumentos:

    • : o diretório de cache no computador que executa o comando.

    • um personal access token para a instância corporativa de destino.

    • : a URL da instância corporativa de destino.

    • : O repositório de ações a ser sincronizado. Este possui o formato de .

      • O exemplo acima sincroniza o repositório com o repositório na instância da empresa de destino. Você deve criar a organização nomeada em sua empresa antes de executar o comando acima.
      • Se você omitir , a ferramenta usará o nome original do proprietário e do repositório da sua empresa. Antes de executar o comando, você deve criar uma nova organização em sua empresa que corresponda ao nome do proprietário da ação. Considere usar uma organização central para armazenar as ações sincronizadas na sua empresa, uma vez que isso significa que você não precisará criar várias novas organizações se sincronizar ações de diferentes proprietários.
      • Você pode sincronizar várias ações substituindo o parâmetro por ou . Veja o arquivo LEIA-ME.
  5. Depois que o repositório de ação for criado na sua empresa, as pessoas da sua empresa poderão usar o repositório de destino para fazer referência à ação nos fluxos de trabalho. Para o exemplo da ação mostrado acima:

    # Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub.
    # São fornecidas por terceiros e regidas por
    # termos de serviço, política de privacidade e suporte separados
    # online.
    uses: synced-actions/actions-stale@v1
    

    Consulte AUTOTITLE