[英]How to include version number in JFrog CLI when publishing NPM package?
我最近一直在使用 JFrog CLI 工具來將我們的 NPM package 上傳到我們公司的工件,這工作正常,但是它需要一些“丑陋”的解決方案,在我們的 ZD3B7C913CD04EBFEC0 管道中手動重命名以獲取其他操作等它可以按我的意願工作,但在我對上傳過程感到滿意之前,我還有一個問題。
問題是上傳到工件的 .tgz 文件不包括文件名中的版本,因此它不是被稱為file-name-1.0.0.tgz它只是file-name.tgz 。 這會造成問題,因為我們無法訪問工件上舊版本的 package。
目前我們在 GitHub 動作中的管道看起來像這樣(總結):
(在 linux 虛擬機上運行,可以訪問我們的 npm 注冊表)
此工作流完成后,將觸發第二個工作流上傳到 JFrog 工件,使用帶有工件憑據的自托管 linux 運行器。
- name: Create version string variable
run: |
PACKAGEVERSION=`jq -r .version package/package.json`
echo $PACKAGEVERSION
mv package-a.tgz "package-a-${PACKAGEVERSION}.tgz"
jf rt u "package-a-${PACKAGEVERSION}.tgz" "path/to/upload/directory/package-a-${PACKAGEVERSION}.tgz"
然后它下載另一個 package 並做同樣的事情。
在工件上,它沒有在 .tgz 文件名中顯示版本,而只是稱為package-a-.tgz所以在重命名步驟中出現了問題,我找不到解決方案,即使我'為此嘗試了許多不同的方法。
我也知道 JFrog CLI 內置了 npm 支持,但是由於需要憑據,我們不能在管道中使用它,或者至少我不知道如何使用。
我非常接近讓它按照我們的意願工作,只是這個簡短的重命名沒有成功。 很感謝任何形式的幫助。 謝謝
我的猜測是您的PACKAGEVERSION
變量超出了 scope,並且在重命名和上傳階段為空。 您是否嘗試在工作流級別對其進行配置?
https://docs.github.com/en/actions/learn-github-actions/environment-variables
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.