Introducción
En esta guía, crearás un flujo de trabajo de GitHub Actions para probar tu código y luego lo publicarás en el GitHub Packages.
Si usas un cuenta de usuario administrada, no puedes hacer "publish" de un paquete en un repositorio perteneciente a tu cuenta. Para seguir esta guía, usa una cuenta personal en GitHub.com en su lugar.
Publicar tu paquete
-
Cree un nuevo repositorio en GitHub y agregue el archivo
.gitignore
para Node. Para obtener más información, vea «Crear un repositorio nuevo». -
Clone el repositorio en la máquina local.
git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git cd YOUR-REPOSITORY
-
Cree un archivo
index.js
y agregue una alerta básica que diga "Hello, world!".JavaScript console.log("Hello, World!");
console.log("Hello, World!");
-
Inicialice un paquete de npm con
npm init
. En el asistente para la inicialización de paquetes, escriba el paquete con el nombre :@YOUR-USERNAME/YOUR-REPOSITORY
y establezca el script de prueba enexit 0
. Esto generará un archivopackage.json
con información sobre el paquete.$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ...
-
Ejecute
npm install
para generar el archivopackage-lock.json
y, después, confirme e inserte los cambios en GitHub.npm install git add index.js package.json package-lock.json git commit -m "initialize npm package" git push
-
Cree un directorio
.github/workflows
. En este directorio, cree un archivo denominadorelease-package.yml
. -
Copie el siguiente contenido YAML en el archivo
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}}
-
Dile a npm en qué ámbito y registro publicar paquetes para usar uno de los siguientes métodos:
-
Agrega un archivo de configuración de npm al repositorio mediante la creación de un archivo
.npmrc
en el directorio raíz con el contenido:@YOUR-USERNAME:registry=https://npm.pkg.github.com
-
Edita el archivo
package.json
y especifica la clavepublishConfig
:"publishConfig": { "@YOUR-USERNAME:registry": "https://npm.pkg.github.com" }
-
-
Confirma y sube tus cambios a 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
-
El flujo de trabajo que creaste se ejecutará cuando sea que se cree un lanzamiento nuevo en tu repositorio. Si las pruebas pasan, entonces el paquete se publicará en GitHub Packages.
Para probar esto, vaya a la pestaña Code (Código) del repositorio y cree una nueva versión. Para más información, vea "Administración de las versiones en un repositorio".
Visualizar tu paquete publicado
Puedes ver todos los paquetes que has publicado.
-
En GitHub, navegue hasta la página principal del repositorio.
-
En la barra lateral derecha del repositorio, haz clic en Paquetes.
-
Busca y haz clic en el nombre del paquete que quieras ver.
Instalar un paquete publicado
Ahora que publicaste el paquete, querrás utilizarlo como una dependencia en tus proyectos. Para obtener más información, vea «Trabajar con el registro de npm».
Pasos siguientes
El flujo básico que acabas de agregar se ejecuta en cualquier momento que se cree un lanzamiento nuevo en tu repositorio. Pero esto es solo el inicio de lo que puedes hacer con el GitHub Packages. Puedes publicar tu paquete en varios registros con un solo flujo de trabajo, activar el flujo de trabajo para que se ejecute en eventos diferentes tales como una solicitud de cambios fusionada, administrar contenedores, y más.
El combinar el GitHub Packages y las GitHub Actions puede ayudarte a automatizar casi cualquier aspecto de tu proceso de desarrollo de aplicaciones. ¿Ya está listo para comenzar? Aquí hay algunos recursos útiles para llevar a cabo los siguientes pasos con el GitHub Packages y las GitHub Actions:
- "Aprende sobre GitHub Packages" para un tutorial detallado sobre GitHub Packages
- "Escritura de flujos de trabajo" para un tutorial detallado en Acciones de GitHub
- "Trabajar con un registro de Paquetes de GitHub" para ejemplos y casos de uso específicos