Auto: НСсколько ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² 1 Ρ€Π΅ΠΏΠΎ

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 28 янв. 2020  Β·  16ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: intuit/auto

Π’Π°Ρˆ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ связан с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ?

ΠŸΡ€ΡΠΌΠΎ сСйчас Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 ΠΏΠ»Π°Π³ΠΈΠ½ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ chrome-web-store ΠΏΠ»Π°Π³ΠΈΠ½ npm Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎ.

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π² основном связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² настоящСС врСмя auto Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° основС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° git ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ понятия ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅.

Π’ ΠΏΠ»Π°Π³ΠΈΠ½Π΅ npm я продСмонстрировал, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ выпуски для sub-packages . ВсС это основано Π½Π° lerna ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² core .

Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² полагаСтся Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (всС, ΠΊΡ€ΠΎΠΌΠ΅ git-tag ), ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ довольно Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠ»Π°Π³ΠΈΠ½ npm

  1. ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ пытаСтся Π½Π°ΠΉΡ‚ΠΈ package.json (ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ lerna)
  2. auto считаСт, Ρ‡Ρ‚ΠΎ всС Π² этой ΠΏΠ°ΠΏΠΊΠ΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ package
  3. auto управляСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ package

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ это ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΈΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. ВмСсто этого ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для всСх ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для ΠΏΠ°ΠΏΠΊΠΈ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ git-tg (ΠΈ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»).

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π² настоящСС врСмя выполняСт ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚Π΅Π³ΠΈ ΠΈ отправляСт. это создало Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ°. вСроятно, придСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эти дСйствия git Π² ядро, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это происходило Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·? хотя Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ package .
  • ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ - вСроятно, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π² этом Ρ‚ΠΈΠΏΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ управляСмого package

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ рассмотрСли

НС ваТно.

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

ΠŸΠΎΡ€Π°Π·ΠΌΡ‹ΡΠ»ΠΈΠ² Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, я, вСроятно, ΠΈΠΌΠ΅Π» Π±Ρ‹ смысл ввСсти Π½ΠΎΠ²ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

{
  // Still have some global config at root
  "name": "Andrew Lisowski",
  "email": "[email protected]",
  // Plugins used for every package
  "plugins": ["conventional-commits"],
  "packages": [
    // Target specific directories and apply a set of plugins to them
    {
      "target": "www",
      "plugins": ["git-tag"]
    },
    {
      "target": "api",
      "plugins": ["npm"]
    },
    // Specify a pattern or even and array of patterns or directories
    {
      "target": ["packages/**",  "utils"],
      "plugins": ["npm"]
    },
    {
      "target": "web-store",
      "plugins": [
        "chrome-web-store",
        // Whole lifecycle is run for each package so you can have package plugins
        ["upload-assets", { "assets": ["./path/to/file"] }]
      ]
    }
  ]
}

Для этого, я Π΄ΡƒΠΌΠ°ΡŽ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ shipit для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

ex для послСднСго:

  1. Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ
  2. ΡƒΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
  3. Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ сразу
  4. Π΄ΠΎΡ…ΠΎΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° вСрсии
  5. ΠΏΡ€ΠΈ нСобходимости Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ
  6. Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°

Π‘ Ρ‚Π°ΠΊΠΎΠΉ настройкой Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ lerna

{
  "name": "Andrew Lisowski",
  "email": "[email protected]",
  "packages": [
    {
      "target": "packages/**",
      "plugins": ["npm"]
    }
  ]
}

Если Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с package Ρ‚ΠΎ выпуск Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½. Π­Ρ‚ΠΎ обСспСчиваСт нСзависимоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ простым способом ΠΈ Π±Π΅Π· lerna . Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с фиксированной вСрсиСй пошСл ΠΏΠΎ классичСскому ΠΏΡƒΡ‚ΠΈ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° интСрСсная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² вашСм Ρ€Π΅ΠΏΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° leran с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ схСмами управлСния вСрсиями ( fixed ΠΈ independent ).

{
  "name": "Andrew Lisowski",
  "email": "[email protected]",
  "packages": [
    {
      "target": "fixed-monorepo",
      "plugins": ["npm"]
    },
    {
      "target": "independent-monorepo",
      "plugins": ["npm"]
    }
  ]
}

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ chrome-web-store ΠΏΠ»Π°Π³ΠΈΠ½ npm Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎ.

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ _Π½Π΅__ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π² настоящСС врСмя выполняСт ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚Π΅Π³ΠΈ ΠΈ отправляСт. это создало Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ°. вСроятно, придСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эти дСйствия git Π² ядро, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это происходило Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·? хотя Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ фиксация для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ фиксируСтся, Π½ΠΎ ΠΌΡ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·?

Π― Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΊΠ°ΠΊ Ρ‚Π΅Π³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€Π΅, Π³Π΄Π΅ каТдая ΠΏΠ°ΠΏΠΊΠ° являСтся собствСнной ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсиСй. Π’Ρ‹ создаСтС Ρ‚Π΅Π³ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅Π»Π°Π΅Ρ‚Π΅? Π’Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ Π² ΠΊΠΎΠ½Ρ†Π΅?

ΠŸΠΎΡ€Π°Π·ΠΌΡ‹ΡΠ»ΠΈΠ² Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, я, вСроятно, ΠΈΠΌΠ΅Π» Π±Ρ‹ смысл ввСсти Π½ΠΎΠ²ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

МнС нравится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ процСсс выпуска для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСства возмоТности ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ s3 / gh-страниц для ΠΏΠ°ΠΊΠ΅Ρ‚Π° docs ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ вашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Одна Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, - это Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 1 ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ выпуска. Π§Ρ‚ΠΎ происходит Π² случаС:

{
  "name": "Andrew Lisowski",
  "email": "[email protected]",
  "packages": [
    {
      "target": "packages/**",
      "plugins": ["npm"]
    },
    {
      "target": "packages/chrome-ext",
      "plugins": ["chrome-web-store"]
    },
  ]
}

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ chrome-ext ΠΊΠ°ΠΊ Π² npm _, Ρ‚Π°ΠΊ ΠΈ Π² webstore ? Или выпуск Π·Π° npm Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ объявлСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ?

Π― Π½Π΅ совсСм ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΊΠ°ΠΊ Ρ‚Π΅Π³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€Π΅, Π³Π΄Π΅ каТдая ΠΏΠ°ΠΏΠΊΠ° являСтся собствСнной ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсиСй. Π’Ρ‹ создаСтС Ρ‚Π΅Π³ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅Π»Π°Π΅Ρ‚Π΅? Π’Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ Π² ΠΊΠΎΠ½Ρ†Π΅?

Π― Π΄ΡƒΠΌΠ°ΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ повСдСнию lerna. просто ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Π³ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅. ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π΅Π³ становится собствСнным выпуском

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ chrome-ext ΠΊΠ°ΠΊ Π² npm, Ρ‚Π°ΠΊ ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅? Или выпуск npm ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ объявлСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ?

Π’ этом случаС Π΄Π°, ΠΎΠ½ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Но это просто плохая конфигурация. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… рССстрах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, npm ΠΈ рССстр ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² github)

{
  "name": "Andrew Lisowski",
  "email": "[email protected]",
  "packages": [
    {
      "target": "packages/**",
      "plugins": [["npm", { registry: "https://npm" }]]
    },
    {
      "target": "packages/**",
      "plugins": [["npm", { registry: "https://github-package-registry" }]]
    },
  ]
}

Π—Π²ΡƒΡ‡ΠΈΡ‚ интСрСсно ... ΠΈ слоТно πŸ˜…

Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΡƒΠΌΠ½Ρ‹ΠΌ с ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· строя Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈ Π΅Π³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ).

Π”ΡƒΠΌΠ°ΡŽ, ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос - ΠΊΠ°ΠΊ это выглядит ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ npm , Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π²Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? Π’ΠΎΡ‚ ΠΆΠ΅ вопрос с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π§Ρ‚ΠΎ касаСтся взаимодСйствия с git, ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ взаимодСйствия с git ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ просто Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° надстройки. Если ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ просто ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΠΎΠ²ΡƒΡˆΠΊΠ΅, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ, вСроятно, слСдуСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ядрС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это влияСт Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π° CI.

Если Ρƒ вас просто ΠΏΠ»Π°Π³ΠΈΠ½ npm, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π²Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»?

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сСгодня, Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€Π΅ packages . Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ трСбуСтся. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ связаны с API ΡƒΠ·Π»Π° ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Если ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ просто ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΠΎΠ²ΡƒΡˆΠΊΠ΅, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ.

МнС нравится эта идСя. Ѐормализация этого взаимодСйствия git Π² auto, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π°. И Ссли ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ этот Ρ…ΡƒΠΊ, это просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΡˆΡƒΠΌΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ фиксация ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠ»Ρ‡ΠΎΠΊ).

Π― Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΡƒΠΌΠ°Π» ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Auto с ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для Π²Π°ΡˆΠΈΡ… Π½ΡƒΠΆΠ΄.

Π’ основном, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Ρ„Π°ΠΉΠ» .autorc ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ прСфиксы для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. НапримСр, выпуск ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° 1 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ Ρ‚Π΅Π³ΠΎΠΌ sub-project/v1.4.5 Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ‚Π΅Π³ sub-project2/v9.9.9

Π—Π°Ρ‚Π΅ΠΌ Auto ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ git describe --tags --matches "sub-project1/*" для получСния ΠΈ обновлСния Ρ‚Π΅Π³ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° соотвСтствСнно.

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΌΡ‹ΡΠ»ΡŒ.

На самом Π΄Π΅Π»Π΅ это довольно Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я использовал. Π―
Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ этим Π½Π° этой Π½Π΅Π΄Π΅Π»Π΅.

МнС ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Π»Π°Π³ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π΄ΠΎ сих ΠΏΠΎΡ€ (—соотвСтствуСт) ΠΈ
всС ΠΈΠ΄Π΅Ρ‚ довольно Π³Π»Π°Π΄ΠΊΠΎ.

Π― использовал ΠΏΠΎΠ»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Β«ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²Β», ΠΈ Π² основном это просто ΠΈ
массив «autorc»

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСфикс, я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ для ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя. Π­Ρ‚ΠΎΡ‚
Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ совмСстим с нСсколькими ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ

Π’ срСду, 29 января 2020 Π³., Π² 21:11 Alejandro Barrientos <
[email protected]> написал:

Π― Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΡƒΠΌΠ°Π» ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Auto с ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»
Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для Π²Π°ΡˆΠΈΡ… Π½ΡƒΠΆΠ΄.

Π’ основном, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².
Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свой собствСнный Ρ„Π°ΠΉΠ» .autorc, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹
ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ потрСбуСтся.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ прСфиксы для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹
ΠΏΡ€ΠΈ нСобходимости ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя. НапримСр,
выпуск ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°1 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π΅Π³Π°ΠΌΠΈ sub-project / v1.4.5 ΠΈ
Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ‚Π΅Π³ sub-project2 / v9.9.9

Π—Π°Ρ‚Π΅ΠΌ Auto ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ git describe --tags --matches
"sub-project1 / *" для получСния ΠΈ обновлСния Ρ‚Π΅Π³ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° соотвСтствСнно.

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΌΡ‹ΡΠ»ΡŒ.

-
Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π΅ΠΌΡ‹.
ΠžΡ‚Π²Π΅Ρ‚ΡŒΡ‚Π΅ Π½Π° это письмо Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, просмотритС Π΅Π³ΠΎ Π½Π° GitHub
https://github.com/intuit/auto/issues/917?email_source=notifications&email_token=AAJDEBGUZR5HF6P3OKRILTDRAJOOXA5CNFSM4KMLWYF2YY3PNVWWK3TUL52HS4DFVREXIWL8
ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ подписки
https://github.com/notifications/unsubscribe-auth/AAJDEBDX72NB5Z7ZJPTDHVLRAJOOXANCNFSM4KMLWYFQ
.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΈ пСрСчитывая это снова, я Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π·Π²ΠΎΠ»Π½ΠΎΠ²Π°Π½! НСсколько Ρ‚Π΅Π³ΠΎΠ² с прСфиксом ΠΊ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π·Π²ΡƒΡ‡Π°Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½Π΅ ΠΎΡ‡Π΅Π½ΡŒ нравится ΠΏΠΎΠ»Π΅ packages .

@hipstersmoothie Π΅ΡΡ‚ΡŒ Π»ΠΈ сСгодня простой способ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² 2 рССстрах npm с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ shipit, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ? ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρƒ мСня Π½Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° прямо сСйчас.

@vincentbriglia Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ next ΠΈ latest , ΠΊΠ°Π½Π°Ρ€Π΅ΠΉΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ большого смысла. ΠœΡ‹ΡΠ»ΠΈ?

@hipstersmoothie: Ρƒ нас Π΅ΡΡ‚ΡŒ случай, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² рССстрС NPM ΠΈ GHPR. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ GHPR, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ рСкламируСтся ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас одинаковая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости для npm ΠΈ github.

Π’ основном ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Π·Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ двСрями, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Π΅ сборки для обсуТдСния / согласования с нашСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² с feature branches > next поэтому ΠΊΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Π΅ сборки ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для нас Π² этом контСкстС. Плагин npm Π² настоящСС врСмя прСдоставляСт эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, поэтому Π±Ρ‹Π»ΠΎ Π±Ρ‹ Таль ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π΅Π΅.

Π― полагаю, Ρ‡Ρ‚ΠΎ контСкст использования GHPR ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это основноС мСсто для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² частном контСкстС Β«ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈΒ», Π° Ссли ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½, npmjs.org являСтся второстСпСнным. (Π― Π½Π΅ Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ устанавливал общСдоступныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ· github). Π’ контСкстС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ npmjs, Π° Π½Π΅ GHPR ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ частный рССстр ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π½Π° сторонС примСчания, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ GHPR: ΠΌΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ нСдСлю, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ автоматичСский ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° основС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» (ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ 50 Π“Π‘ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠΊΠ΅Ρ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ)

  • ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСднюю ΠΊΠ°Π½Π°Ρ€Π΅ΠΉΠΊΡƒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
  • ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ n-Ρ‹ΠΉ послСдний ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
  • ...

Π― Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ с Ρ€Π°Π΄ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Π», ΠΏΠΎΠΊΠ° Π²Ρ‹ создадитС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ издатСля ghpr, ΠΏΠΎΠΊΠ° Π½Π΅ начнСтся Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ v10, ΠΈΠ΄Π΅ΠΈ, прСдставлСнныС здСсь, каТутся ΠΎΡ‡Π΅Π½ΡŒ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ «пСрспСктивным».

ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΆΠΈΡ‚ΡŒ Π±Π΅Π· ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΈ частной ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования.

Π― большС Π΄ΡƒΠΌΠ°Π» ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π΅ "Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ рССстра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²". Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ»Π°Π³ΠΈΠ½ npm Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½, ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² любом настроСнном рССстрС. Π—Π°Ρ‚Π΅ΠΌ этот Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ рССстрС (Π½Π΅Π²Π°ΠΆΠ½ΠΎ, npm ΠΈΠ»ΠΈ ghpr), выпуская всС вСрсии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² фиксации HEAD.

Π½Π° сторонС примСчания, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ GHPR: ΠΌΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ нСдСлю, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ автоматичСский ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° основС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» (ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ 50 Π“Π‘ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠΊΠ΅Ρ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ)

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Π― Π½Π΅ Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ эти ограничСния!

этот Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ рССстрС (нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, npm ΠΈΠ»ΠΈ ghpr Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния), выпуская Π»ΡŽΠ±Ρ‹Π΅ вСрсии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² фиксации HEAD

Ρ…ΠΎΡ€ΠΎΡˆΠΎ, это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ сработаСт! ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ: Ρ‚Π°ΠΊΠΆΠ΅ для нашСго сцСнария (ΠΎΠ²)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Каково Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Auto ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ этой Ρ‚Π΅ΠΌΠ΅? МоТно Π»ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ выпуска?

ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² полагаСтся Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (всС, ΠΊΡ€ΠΎΠΌΠ΅ git-tag )

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Плагин docker полагаСтся Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ»? Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½: ΠΌΠ½Π΅ интСрСсно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Auto с sbt (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнный инструмСнт сборки для Scala), ΠΈ Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ ΠΌΠ°ΡˆΠΈΠ½ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ JSON / XML. Π‘Π±ΠΎΡ€ΠΊΠ° sbt настраиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° Scala ΠΈ для извлСчСния любой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сборкС Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с sbt.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ нСзависимоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ монорСпозиториями.

Из этой Ρ‚Π΅ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ каТСтся, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΡ‚ΡŒ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с нСсколькими ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ потрСбности Π² ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. А ΠΊΠ°ΠΊ насчСт ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ²? НапримСр, ΠΎΠ±Ρ€Π°Π· Docker ΠΈ Π°Ρ€Ρ…ΠΈΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ). Или дСйствиС GitHub, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² NPM ΠΈ ΠΊΠ°ΠΊ дСйствиС Π² выпусках GitHub.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π² настоящСС врСмя выполняСт ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚Π΅Π³ΠΈ ΠΈ отправляСт. это создало Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ°. вСроятно, придСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эти дСйствия git Π² ядро, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это происходило Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·? хотя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ _ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ_ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ package .

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Π­Ρ‚ΠΎ восходит ΠΊ ΠΌΠΎΠ΅ΠΌΡƒ Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ утвСрТдСния, Ρ‡Ρ‚ΠΎ каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‰ΡŒΒ». На ΠΌΠΎΠΉ взгляд, Π»ΠΎΠ²ΡƒΡˆΠΊΠ° publish Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° _only publish_ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π΅Π³ΠΈ git. Если ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ спСцифики своСго диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΠ±Ρ‰ΠΈΠ΅ части процСсса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ / ΠΈΠ»ΠΈ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. МоТно Π»ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Auto ΠΈΠ»ΠΈ ΠΎΠ½ слишком прСдвзято относится ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ NPM?

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

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

brunobertoldi picture brunobertoldi  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

hipstersmoothie picture hipstersmoothie  Β·  13ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

zephraph picture zephraph  Β·  10ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

sethomas picture sethomas  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

zephraph picture zephraph  Β·  12ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ