Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.
Introdução
Neste guia, você criará um fluxo de trabalho de GitHub Actions para testar seu código e, em seguida, publicá-lo em GitHub Package Registry.
Publicar o seu pacote
-
Crie um novo repositório em GitHub, adicionando o
.gitignore
ao Node. Crie um repositório privado se você desejar excluir este pacote mais tarde. O pacotes públicos não podem ser excluídos. For more information, see "Criar um novo repositório." -
Clone o repositório para a sua máquina local.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git $ cd YOUR-REPOSITORY
-
Crie um arquivo
index.js
e adicione um alerta básico que diga "Hello world!"JavaScript alert("Hello, World!");
-
Inicialize um pacote npm com
npm init
. No assistente de inicialização de pacote, insira seu pacote com o nome:@YOUR-USERNAME/YOUR-REPOSITORY
e defina o script de teste paraexit 0
. Isto irá gerar um arquivopackage.json
com informações sobre o seu pacote.$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ...
-
Execute o
npm install
para gerar o arquivopackage-lock.json
e, em seguida, faça o commit e push das suas alterações para GitHub.$ npm install $ git add index.js package.json package-lock.json $ git commit -m "initialize npm package" $ git push
-
Crie um diretório
.github/workflows
. Nesse diretório, crie um arquivo denominadorelease-package.yml
. -
Copiar o conteúdo YAML a seguir no arquivo
release-package.yml
.YAML name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: node-version: 12 - run: npm ci - run: npm test publish-gpr: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: node-version: 12 registry-url: https://npm.pkg.github.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
-
Faça commit e faça push das suas alterações para GitHub.
$ git add .github/workflows/release-package.yml $ git commit -m "workflow to publish package" $ git push
-
O fluxo de trabalho que você criou será executado sempre que uma nova versão for criada no seu repositório. Se os testes passarem, o pacote será publicado em GitHub Package Registry.
Para testar isso, acesse a guia Código no repositório e crie uma nova versão. Para obter mais informações, consulte "Gerenciando versões em um repositório."
Visualizar o seu pacote publicado
Os pacotes são publicados no nível de repositório. Você pode visualizar todos os pacotes em um repositório e procurar um pacote específico.
-
No GitHub Enterprise Server, navegue até a página principal do repositório.
-
À direita da lista de arquivos, clique em Packages (Pacotes).
-
Clique no nome do pacote que você deseja visualizar.
Instalar um pacote publicado
Agora que você publicou o pacote, você vai querer usá-lo como uma dependência nos seus projetos. Para obter mais informações, consulte "Configurar npm para uso com o GitHub Package Registry".
Próximas etapas
O fluxo de trabalho básico que você acabou de adicionar é executado sempre que uma nova versão for criada no seu repositório. Mas este é apenas o início do que você pode fazer com GitHub Package Registry. Pode publicar o seu pacote em vários registros com um único fluxo de trabalho, acionar o fluxo de trabalho para ser executado em eventos diferentes, como um pull request mesclado, gerenciar contêineres, entre outros.
Combinar GitHub Package Registry e GitHub Actions pode ajudá-lo a automatizar quase todos os aspectos dos processos de desenvolvimento do seu aplicativo. Pronto para começar? Aqui estão alguns recursos úteis para dar seguir as próximas etapas com GitHub Package Registry e GitHub Actions:
- "Aprenda sobre GitHub Package Registry" para obter um tutorial aprofundado no GitHub Packages
- "Aprenda sobre GitHub Actions" para obter um tutorial aprofundado no GitHub Actions
- "Guias" para casos e exemplos específicos de uso