問題タブ [aws-codeartifact]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jenkins - npm publish はプライベート aws コード アーティファクト リポジトリを使用していません
npm パッケージをプライベート AWS コードアーティファクト リポジトリにプッシュしようとするジェンキンスの仕事があります。
これは私のマシンでローカルに機能しますが、ジェンキンスを実行するとエラーになります。ジェンキンスのセットアップは、ノードがインストールされたスレーブとしてコンテナーを実行することです。これは、私のラップトップから見つけることができる唯一の違いです。
ビルドログは次のとおりです: https://pastebin.com/fENQSG9w
ログインするためのaws cliが機能していることがわかります。これは、認証トークンを使用してユーザーレベルで.npmrcもセットアップします。ただし、アーティファクトの公開に関しては、npm コード アーティファクトの場所ではなく、https: //registry.npmjs.org/@myscope%2ftest-poc-package に移動します。
スレーブ コンテナ内の npm バージョン: 6.14.11
jenkins ジョブに手順を追加して、ユーザー ホームとプロジェクト ホーム内の .npmrc と npm デバッグ ログを一覧表示しましたが、どれも異常なことを示していません。
curl - AWS CodeArtifact HTTP API が返す: スナップショットの無効な名前
ここで説明されているように、curl を使用して AWS CodeArtifact にファイルを発行しようとしています: AWS: Publishing with curl
これは、バージョンの最後に -SHAPSHOT を追加するなど、SNAPSHOT バージョンを公開しようとするまで機能します。-SNAPSHOT をバージョンに追加すると、取得する
スナップショット ビルド アセットの無効な名前: 'packageName-version-SNAPSHOT.tar.gz'
もちろん、「packageName」と「version」を実際のパッケージ名とバージョン文字列に置き換えます。
curl コマンドは次のようになります。
${packageVersion} が -SNAPSHOT で終わると、エラーが発生します。${packageVersion} が -SNAPSHOT で終わらない場合、発行は機能します。
スナップショットを公開する必要があります。では、スナップショットのバージョン管理で何が間違っているのでしょうか?