#github #npm #github-actions #semantic-release
Вопрос:
Я хочу опубликовать весь каталог (каталог сборки) в выпуске Github с использованием семантического выпуска, но, к сожалению, он выпускает каждый файл сборки как отдельный ресурс.
Для размножения:
- Я использую интерфейс командной строки Vue для создания проекта
vue create foo
- Установите семантический выпуск как зависимость от разработчика
npm install --save-dev semantic-release
- Установите плагин Github для семантического выпуска
npm install @semantic-release/github -D
- Создайте
.releaserc.json
файл с содержимым
.
{
"plugins":[
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@semantic-release/github",
{
"assets":[
{
"path":"dist",
"label":"foo-${nextRelease.gitTag}"
}
]
}
]
]
}
- Внутри пакета.json установите
version
ключ в0.0.0-development
- Создайте каталог .github/workflows с ci.yml рабочего процесса
.
name: CI
on:
push:
branches:
- main
jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 16.x
- name: Install dependencies
run: npm install
- name: Run build
run: npm run build
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release --branches main
- Зафиксируйте и подтолкните его с помощью
feat: pushed
Релиз, похоже, в порядке, но, к сожалению, он не опубликовал каталог dist в качестве отдельного ресурса.
Он просто опубликовал каждый файл внутри dist как один
Добавление шага
- name: Log
run: ls
показывает, что каталог dist существует
Как я могу это исправить?
Ответ №1:
Похоже, это невозможно. Поэтому я должен добавить этот шаг после создания приложения
- name: ZIP build
run: zip -r dist.zip dist
и установите конфигурацию ресурсов в
{
"path":"dist.zip",
"label":"foo-${nextRelease.gitTag}.zip"
}