簡體   English   中英

通過 Jenkins 執行 shell 腳本

[英]Execute shell script via Jenkins

我有一個非常簡單的 shell 腳本build-dev.sh 這是它的樣子:

#artifact build script
echo "Running application build for DEV environment"

ng build --deploy-url "js/" --base-href "/my-app-ui/" --configuration=dev
mkdir dist/my-app-ui/js
mv ./dist/my-app-ui/*.{js,svg,css} ./dist/my-app-ui/js

它構建 Angular 應用程序,然后創建一個js文件夾,然后將擴展名為jssvgcss文件移動到該文件夾​​中。

當我自己直接執行這個腳本時,它工作得很好。

問題是我希望腳本由 Jenkins 執行。 所以我在我的構建中配置了“執行 shell”步驟。 一旦執行了 Jenkins 作業,它就會在執行腳本的第三行( mv命令)時失敗。

mv: cannot stat './dist/my-app-ui/*.{js,svg,css}': No such file or directory
Build step 'Execute shell' marked build as failure

我認為這可能與我的腳本中有.*{js,svg,css}的事實有關。

你能告訴我我做錯了什么嗎?

好吧,我仍然不確定為什么它不起作用,但問題在於括號的使用 - {js,svg,css} 我用三行替換了mv命令:

mv ./dist/my-app-ui/*.js ./dist/my-app-ui/js
mv ./dist/my-app-ui/*.svg ./dist/my-app-ui/js
mv ./dist/my-app-ui/*.css ./dist/my-app-ui/js

這完美地工作。 它仍然是某種解決方法,但它的作用完全相同,因此對我來說效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM