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 Packages.
Se você usar um conta de usuário gerenciada, não poderá publicar um pacote em um repositório pertencente à sua conta. Para seguir este guia, use uma conta pessoal do GitHub.com.
Publicar o seu pacote
-
Crie um repositório no GitHub adicionando o
.gitignore
ao Node. Para obter mais informações, confira "Criar um repositório". -
Clone o repositório em seu computador 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 para dizer "Olá, mundo!"JavaScript console.log("Hello, World!");
console.log("Hello, World!");
-
Inicialize um pacote npm com
npm init
. No assistente de inicialização do pacote, insira o pacote com o nome@YOUR-USERNAME/YOUR-REPOSITORY
e defina o script de teste comoexit 0
. Isso vai gerar um arquivopackage.json
com informações sobre o pacote.$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ...
-
Execute
npm install
para gerar o arquivopackage-lock.json
e faça commit e efetue push das alterações para o 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 chamadorelease-package.yml
. -
Copie o conteúdo YAML a seguir para o arquivo
release-package.yml
.YAML name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 - run: npm ci - run: npm test publish-gpr: needs: build runs-on: ubuntu-latest permissions: packages: write contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 registry-url: https://npm.pkg.github.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 - run: npm ci - run: npm test publish-gpr: needs: build runs-on: ubuntu-latest permissions: packages: write contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 registry-url: https://npm.pkg.github.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
-
Informe ao npm os escopos e o registro nos quais os pacotes serão publicados usando um dos seguintes métodos:
-
Adicione um arquivo de configuração do npm ao repositório criando um arquivo
.npmrc
no diretório raiz com os conteúdos:@YOUR-USERNAME:registry=https://npm.pkg.github.com
-
Edite o arquivo
package.json
e especifique a chavepublishConfig
:"publishConfig": { "@YOUR-USERNAME:registry": "https://npm.pkg.github.com" }
-
-
Faça commit e faça push das suas alterações para GitHub.
$ git add .github/workflows/release-package.yml # Also add the file you created or edited in the previous step. $ git add .npmrc or package.json $ 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 Packages.
Para testar isso, procure a guia Código no repositório e crie uma versão. Para obter mais informações, confira "Como gerenciar as versões do repositório".
Visualizar o seu pacote publicado
Você pode ver todos os pacotes que você publicou.
-
Em GitHub, acesse a página principal do repositório.
-
Na barra lateral direita do repositório, clique em Pacotes.
-
Procure e clique no nome do pacote que deseja ver.
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, confira "Trabalhando com o registro npm".
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 Packages. 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 Packages 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 Packages e GitHub Actions:
- "Aprenda sobre o GitHub Pckages" para um tutorial detalhado sobre os pacotes do GitHub
- "Escrevendo fluxos de trabalho" para um tutorial detalhado sobre o GitHub Actions
- "Trabalhar com um registro do GitHub Packages" para casos de uso e exemplos específicos