Auto: ДСйствиС GitHub Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ NPM_TOKEN

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 22 Ρ„Π΅Π²Ρ€. 2021  Β·  6ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: intuit/auto

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ с ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° npm (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ) Π½Π° использованиС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² GitHub с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» имя своСго ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² package.json , Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ publishConfig Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

"publishConfig": {
    "registry": "https://npm.pkg.github.com"
  },

И ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΌΠΎΠΈ шаги дСйствия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ NODE_AUTH_TOKEN вмСсто NPM_TOKEN Π² соотвСтствии с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° я объСдиняю Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ дСйствиС, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ публикуСтся (хотя вСрсия Ρ‚Π΅Π³ΠΈ ΠΈ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ, поэтому досадно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ помСчаСтся ΠΊΠ°ΠΊ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ запуск):

 βœ”  success   Wrote authentication token string to /home/runner/.npmrc
⚠  warning   Error: Failed to replace env in config: ${NPM_TOKEN}

NPM_TOKEN установлСн Π² ΠΌΠΎΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Secrets Π½Π° GitHub.

Π’ΠΎΡ‚ настройка дСйствия:

name: Publish

on:
  push:
    branches: [main]

jobs:
  release:
    runs-on: ubuntu-latest

    # this check needs to be in place to prevent a publish loop with auto and github actions
    if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"

    steps:
      - uses: actions/checkout<strong i="19">@v2</strong>
        with:
          # Needed for branch protection override
          token: ${{ secrets.GITHUB_TOKEN }}

      - name: Prepare repository
        run: git fetch --unshallow --tags

      - name: Use Node.js 12.x
        uses: actions/setup-node<strong i="20">@v1</strong>
        with:
          node-version: 12.x

      - name: Cache node modules
        uses: actions/cache<strong i="21">@v2</strong>
        with:
          path: node_modules
          key: node-modules-${{ hashFiles('package-lock.json') }}
          restore-keys: |
            node-modules-${{ hashFiles('package-lock.json') }}

      - name: Create release
        env
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: |
          npm ci
          npm run build
          npm run release

ВсС 6 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π•ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструкции ΠΏΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² рССстрС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² GitHub.

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой Ρ‚ΠΎΠΊΠ΅Π½ GitHub для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ большС Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚Π΅ Π² NPM

NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΠΏΠΎ, Π³Π΄Π΅ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

@hipstersmoothie Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ. Π― Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΊΠ°ΠΊ я ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ настроил дСйствиС, Π½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ всС Π΅Ρ‰Π΅ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ всС шаги. МнС Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эти строки Π² мою настройку ΡƒΠ·Π»Π° (Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ Π² вашСм дСмонстрационном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ):

with:
          node-version: 14.x
          registry-url: 'https://npm.pkg.github.com'
          scope: '<strong i="7">@whiteorg</strong>'

Π― Ρ‚Π°ΠΊΠΆΠ΅ всС Π΅Ρ‰Π΅ Π²ΠΈΠ΄Π΅Π» ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ сообщСниС NPM_TOKEN. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² качСствС сСкрСта срСды, ΠΏΠΎΡ…ΠΎΠΆΠ΅, устранило это, Ρ‚.Π΅.

- name: Create release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

НаконСц, со всСми этими настройками я смог ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ PR ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Auto, выпустив Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² Π²Π΅Ρ€ΡΠΈΡŽ / ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ πŸŽ‰

Однако я ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π²Π΅Ρ‚ΠΎΠΊ, ΠΏΠΎΠΊΠ° возился; ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΎ Π½ΠΎΠ²ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Auto пытался Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ обновлСния вСрсии, происходил сбой. Π― Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ этим, добавляя Π½ΠΎΠ²Ρ‹ΠΉ Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ GitHub ΠΈ ΡΡΡ‹Π»Π°ΡΡΡŒ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π° сСкрСт, вмСсто стандартного GITHUB_SECRET , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

- uses: actions/checkout<strong i="17">@v2</strong>
        with:
          # Needed for branch protection override
          token: ${{ secrets.GH_ADMIN_TOKEN }}

Π­Ρ‚ΠΎ Π½Π΅ каТСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, поэтому, Ссли ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅Π΅, я Π±Ρ‹Π» Π±Ρ‹ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ здСсь ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ: https://intuit.github.io/auto/docs/build-platforms/github-actions#running -with-branch-protection

Π― сдСлал ΠΏΠΈΠ°Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ эти Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹. НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ β„– 1828?

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ, ΠΏΠ°Ρ€Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ всС выглядит Ρ…ΠΎΡ€ΠΎΡˆΠΎ ☺ Π•Ρ‰Π΅ Ρ€Π°Π· спасибо Π·Π° Π²Π°ΡˆΡƒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ


: rocket: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π² v10.16.8 : rocket:

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ