C# プロジェクトがあり、それにセマンティック バージョニングを追加したいと考えています。そのため、ブランチにプッシュするたびにmain
、新しいリリースを作成し、コミット タイプに基づいて新しいバージョン番号を自動生成したいと考えています。私はすでにhuskyでcommitlintを使用しているので、セマンティックリリースは非常にうまく機能すると思います。
複製の場合:
- Github に新しいリポジトリを作成する
- リポジトリ内で新しい C# プロジェクトを作成します (この手順は省略できます)。
- 実行
npm init -y
して npm をセットアップする - https://commitlint.js.org/#/guides-local-setupに従ってcommitlint と husky をセットアップします
- アカウントの新しい個人用アクセス トークンを作成する
- 新しい Github シークレットをリポジトリに追加し、名前を付けて
SEMANTIC_RELEASE
、アクセス トークンをその値として追加します。 - https://semantic-release.gitbook.io/semantic-release/usage/getting-startedに基づいて、新しい Github ワークフローを作成します
.
name: Release
on:
push:
branches:
- `main`
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 14.x
- name: Install dependencies
run: npm install
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE }}
run: npx semantic-release
- プッシュした後、ワークフローは次のエラー メッセージで失敗するはずです
[2:51:48 PM] [semantic-release] › ✔ プラグイン「@semantic-release/github」のステップ「fail」を完了 npm トークン ( https://github.com/semantic-release/npm/blob/ master/README.md#npm-registry-authentication ) を作成し、CI 環境の NPM_TOKEN 環境変数に設定する必要があります。
npm トークン ( https://docs.npmjs.com/getting-started/working_with_tokens#how-to-create-new-tokens ) を作成し、CI 環境の NPM_TOKEN 環境変数に設定してください。トークンは、レジストリhttps://registry.npmjs.org/への公開を許可する必要があり ます。
AggregateError: SemanticReleaseError: npm トークンが指定されていません。module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/node_modules/@semantic-release/npm/lib/get-error.js:6:10) で module.exports で(/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/node_modules/@semantic-release/npm/lib/set-npmrc-auth.js:45:31) module.exports (/ home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/node_modules/@semantic-release/npm/lib/verify-auth.js:17:9) の verifyConditions (/home/runner/.npm) /_npx/1561/lib/node_modules/semantic-release/node_modules/@semantic-release/npm/index.js:36:13) 非同期バリデータ (/home/runner/.npm/_npx/1561/lib/node_modules/) semantic-release/lib/plugins/normalize.js:34:24) 非同期 /home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/pipeline.js:37:34 で非同期約束。すべて (インデックス 0) /home/runner/. npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/pipeline.js:54:11 at async Object.pluginsConf. [検証条件として] (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/index.js:80:11) 非同期実行時 (/home/runner/.npm/_npx) /1561/lib/node_modules/semantic-release/index.js:95:3) 非同期 module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/index.js:260) :22) async module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/cli.js:55:5) エラー: プロセスは終了コード 1 で完了しました。npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/pipeline.js:54:11 at async Object.pluginsConf. [検証条件として] (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/index.js:80:11) 非同期実行時 (/home/runner/.npm/_npx) /1561/lib/node_modules/semantic-release/index.js:95:3) 非同期 module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/index.js:260) :22) async module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/cli.js:55:5) エラー: プロセスは終了コード 1 で完了しました。npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/pipeline.js:54:11 at async Object.pluginsConf. [検証条件として] (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/lib/plugins/index.js:80:11) 非同期実行時 (/home/runner/.npm/_npx) /1561/lib/node_modules/semantic-release/index.js:95:3) 非同期 module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/index.js:260) :22) async module.exports (/home/runner/.npm/_npx/1561/lib/node_modules/semantic-release/cli.js:55:5) エラー: プロセスは終了コード 1 で完了しました。
npm レジストリに公開したくありません。新しいリリース バージョンを作成するだけです。
私は何かを見逃していましたか、それともセマンティック リリースが私のプロジェクトにとって間違ったツールでしたか?