dailybuild_rt2841_2851 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/bin/bash
  2. cd ~
  3. WORKSPACE=$(pwd)
  4. # 是否要重新下载;
  5. Redownload=$1
  6. if [ ! $Redownload ]; then
  7. Redownload=false
  8. fi
  9. echo "Redownload=${Redownload}"
  10. # 换服务器编译时,这里的PATH要以新服务器的环境变量重新配置
  11. # 使用echo $PATH 命令就可以导出当前服务器的环境变量;
  12. # 注意:这点很重要,如果不配置或不是当前服务器的环境变量的话,repo sync等命令不会执行的
  13. export PATH=/opt/git-repo:/usr/lib/jvm/java-8-openjdk-amd64/bin:/home/wangjianfeng/.vscode-server/bin/d2e414d9e4239a252d1ab117bd7067f125afd80a/bin:/opt/git-repo:/usr/lib/jvm/java-8-openjdk-amd64/bin:/home/wangjianfeng/.vscode-server/bin/d2e414d9e4239a252d1ab117bd7067f125afd80a/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  14. # 删除目录(判断目录是否存在,不能使用 if[ -d "~/dailybuild" ]),一定要完整路径;
  15. cd $WORKSPACE
  16. if [ $Redownload == true ]; then
  17. if [ -d "${WORKSPACE}/dailybuild" ]; then
  18. echo "rm -rf ${WORKSPACE}/dailybuild begin "$(date +"%Y-%m-%d %T")
  19. rm -rf $WORKSPACE/dailybuild
  20. echo "rm -rf ${WORKSPACE}/dailybuild finished "$(date +"%Y-%m-%d %T")
  21. fi
  22. # 创建目录;
  23. mkdir dailybuild
  24. echo "mkdir dailybuild finished "$(date +"%Y-%m-%d %T")
  25. else
  26. # 路径是否存在;
  27. if [ ! -d $WORKSPACE/dailybuild ]; then
  28. Redownload=true
  29. # 创建目录;
  30. mkdir dailybuild
  31. fi
  32. fi
  33. cd $WORKSPACE/dailybuild/
  34. if [ $Redownload == true ]; then
  35. # 重新更新代码;
  36. repo init -u ssh://10.126.16.60:29418/rt2841_manifest -m odin-gms.xml -b master
  37. echo "repo init dailybuild finished "$(date +"%Y-%m-%d %T")
  38. repo sync
  39. echo "repo sync dailybuild finished "$(date +"%Y-%m-%d %T")
  40. fi
  41. # 简单防止更新失败,再次重新;
  42. echo "repo sync-2 dailybuild start "$(date +"%Y-%m-%d %T")
  43. repo sync
  44. echo "repo sync-2 dailybuild finished "$(date +"%Y-%m-%d %T")
  45. # 编译2841主干代码;
  46. echo "Start: Daily build for RT2841 master branch "$(date +"%Y-%m-%d %T")
  47. cd $WORKSPACE/dailybuild/
  48. repo forall -c "pwd && git clean -xfd && git checkout -- ."
  49. rm -rf $WORKSPACE/dailybuild/kernel/android/pie/out
  50. ./SCBC_build.sh true
  51. echo "End: Daily build for RT2841 master branch "$(date +"%Y-%m-%d %T")
  52. var_md=$(date '+%m%d')
  53. if [ ! -d /home/exchange/Dailybuild/DailyBuild_RT2841_$var_md ]; then
  54. # 判断是否有编译成功的文件夹存在(100服务器脚本copy失败);
  55. if [ ! -d $WORKSPACE/DailyBuild_RT2841_$var_md ]; then
  56. cp -r $WORKSPACE/DailyBuild_RT2841_$var_md /home/exchange/Dailybuild/
  57. else
  58. echo "没有生成rt2841编译的img"
  59. fi
  60. fi
  61. # 编译2851主干代码;
  62. echo "Start: Daily build for RT2851 master branch "$(date +"%Y-%m-%d %T")
  63. cd $WORKSPACE/dailybuild/
  64. repo forall -c "pwd && git clean -xfd && git checkout -- ."
  65. rm -rf $WORKSPACE/dailybuild/kernel/android/pie/out
  66. ./SCBC_build_4K_2851.sh true
  67. echo "End: Daily build for RT2851 master branch "$(date +"%Y-%m-%d %T")
  68. if [ ! -d /home/exchange/Dailybuild/DailyBuild_RT2851_$var_md ]; then
  69. # 判断是否有编译成功的文件夹存在(100服务器脚本copy失败);
  70. if [ ! -d $WORKSPACE/DailyBuild_RT2851_$var_md ]; then
  71. cp -r $WORKSPACE/DailyBuild_RT2851_$var_md /home/exchange/Dailybuild/
  72. else
  73. echo "没有生成rt2851编译的img"
  74. fi
  75. fi
  76. echo "all finished"