问题描述
我制作了一个白标应用程序,并不时使用 React Native 中的 Expo 使用 OTA 更新对其进行配置。问题是我的项目越来越大,每天都有更多的应用程序,更新它变得更加困难。我想编写一个脚本(我认为它应该是 bash?)来运行我的所有更新。
通常我会像这样更新我的应用程序:
expo publish --config app1.json --release-channel app1
然后我在第二个应用程序上运行更新:
expo publish --config app2.json --release-channel app2
等等...
如何编写一个可以按顺序运行多行的单个文件?任何建议或示例将不胜感激。
顺便说一句:expo publish
命令是运行 OTA 更新的命令,因此需要一些时间。我不知道脚本是否可以等待直到命令完成还是它们并行运行?但是,我想这是另一个问题...
解决方法
我借助 vscode 中的 spring-data-rest
编写了一个简单的脚本 (.sh):
ShellCheck
然后我只需运行 #!/bin/bash
echo "Starting update"
param=$1
if [ "$param" = "prod" ]
then
echo "you publish to prod now,good luck"
expo publish --config app1.json --release-channel app1-prod
expo publish --config app2.json --release-channel app2-prod
#etc
elif [ "$param" = "staging" ]
then
echo "you now publish to staging"
expo publish --config app1.json --release-channel app1-staging
expo publish --config app2.json --release-channel app2-staging
#etc
else
echo "idiot,check parameter"
fi
echo "Finished update"
或 ./<myScript>.sh staging
即可一次更新我的所有应用。
我确信有一种更简洁的方法可以在不使用 ./<myScript>.sh prod
开关的情况下编写此脚本,但目前我缺乏 shell 脚本的知识:)
希望对某人有所帮助。