[英]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
文件夾,然后將擴展名為js
、 svg
和css
文件移動到該文件夾中。
當我自己直接執行這個腳本時,它工作得很好。
問題是我希望腳本由 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.