ITPub博客

首页 > Linux操作系统 > Linux操作系统 > git 自动上传代码到远程仓库

git 自动上传代码到远程仓库

原创 Linux操作系统 作者:abin1703 时间:2021-04-02 16:01:05 0 删除 编辑
自动上传应用代码到git仓库中。具体详见代码。
if [[ $1 = "--help" ]] || [[ $1 = "-h" ]]
then
echo "1、项目名称请选择以下定义好的名称"
echo  "
社保项目 :newsx、sxzw、reporting、reportingSYN、
微服务vspn30 :eapi 、fxkz、jdjc、screen、zwgl、service
"
echo "2、升级环境请选择以下定义好的名称"
echo "
生产环境 : prod
开发环境 : dev
"
echo "3、升级包位置请输入上传升级包存放的位置"
echo "
示例 : /z/02升级补丁包/01newsx/20210401/newsx
"
exit 0
fi
read -p "请输入项目名称:" project
read -rp "请输入升级包位置:" sjpath_bat
read -p "请输入升级环境:" sjenv
echo "----------------------------------"
echo -e "\033[0;31;1m输入的项目名称为:${project}\033[0m"
echo -e "\033[0;31;1m输入的升级包位置为: ${sjpath_bat}\033[0m"
echo -e "\033[0;31;1m输入的升级环境为:${sjenv}\033[0m"
echo "----------------------------------"
riqi=`date +'%Y%m%d'`
riqitime=`date +'%Y%m%d_%H%M%S'`
sjpath=$(echo $sjpath_bat |sed -e 's/\\/\//g'|sed -e 's/z:/\/z/')
echo $sjpath
if [ $sjenv == 'dev' ];then
cd /z/01业务升级/dev/
if [ $project == 'newsx' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd newsx
git checkout -B "dev_newsx_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_newsx_$riqitime"
git push --set-upstream origin "dev_newsx_$riqi"
echo -e "\033[45m 分支名称为:dev_newsx_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_newsx_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'sxzw' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd sxzw
git checkout -B "dev_sxzw_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_sxzw_$riqitime"
git push --set-upstream origin "dev_sxzw_$riqi"
echo -e "\033[45m 分支名称为:dev_sxzw_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_sxzw_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'reporting' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd reporting
git checkout -B "dev_reporting_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_reporting_$riqitime"
git push --set-upstream origin "dev_reporting_$riqi"
echo -e "\033[45m 分支名称为:dev_reporting_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_reporting_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'reportingSYN' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd reportingSYN
git checkout -B "dev_reportingSYN_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_reportingSYN_$riqitime"
git push --set-upstream origin "dev_reportingSYN_$riqi"
echo -e "\033[45m 分支名称为:dev_reportingSYN_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_reportingSYN_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'eapi' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-eapi
git checkout -B "dev_eapi_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_eapi_$riqitime"
git push --set-upstream origin "dev_eapi_$riqi"
echo -e "\033[45m 分支名称为:dev_eapi_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_eapi_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'fxkz' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-fxkz
git checkout -B "dev_fxkz_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_fxkz_$riqitime"
git push --set-upstream origin "dev_fxkz_$riqi"
echo -e "\033[45m 分支名称为:dev_fxkz_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_fxkz_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'jdjc' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-jdjc
git checkout -B "dev_jdjc_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_jdjc_$riqitime"
git push --set-upstream origin "dev_jdjc_$riqi"
echo -e "\033[45m 分支名称为:dev_jdjc_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_jdjc_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'screen' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-screen
git checkout -B "dev_screen_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_screen_$riqitime"
git push --set-upstream origin "dev_screen_$riqi"
echo -e "\033[45m 分支名称为:dev_screen_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_screen_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'zwgl' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-zwgl
git checkout -B "dev_zwgl_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_zwgl_$riqitime"
git push --set-upstream origin "dev_zwgl_$riqi"
echo -e "\033[45m 分支名称为:dev_zwgl_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_zwgl_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'service' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vst-service
git checkout -B "dev_service_$riqi"
cp -rf $sjpath /z/01业务升级/dev
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: dev_service_$riqitime"
git push --set-upstream origin "dev_service_$riqi"
echo -e "\033[45m 分支名称为:dev_service_$riqi \033[0m"
echo -e "\033[45m Commit ID:dev_service_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
else
    echo "输入的项目名称不存在,请执行 sh git.sh --help 查看具体项目名称!!"
fi
elif [ $sjenv == 'prod' ];then
cd /z/01业务升级/product/
if [ $project == 'newsx' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd newsx
git checkout -B "prod_newsx_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_newsx_$riqitime"
git push --set-upstream origin "prod_newsx_$riqi"
echo -e "\033[45m 分支名称为:prod_newsx_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_newsx_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'sxzw' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd sxzw
git checkout -B "prod_sxzw_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_sxzw_$riqitime"
git push --set-upstream origin "prod_sxzw_$riqi"
echo -e "\033[45m 分支名称为:prod_sxzw_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_sxzw_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'reporting' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd reporting
git checkout -B "prod_reporting_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_reporting_$riqitime"
git push --set-upstream origin "prod_reporting_$riqi"
echo -e "\033[45m 分支名称为:prod_reporting_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_reporting_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'reportingSYN' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd reportingSYN
git checkout -B "prod_reportingSYN_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_reportingSYN_$riqitime"
git push --set-upstream origin "prod_reportingSYN_$riqi"
echo -e "\033[45m 分支名称为:prod_reportingSYN_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_reportingSYN_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'eapi' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-eapi
git checkout -B "prod_eapi_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_eapi_$riqitime"
git push --set-upstream origin "prod_eapi_$riqi"
echo -e "\033[45m 分支名称为:prod_eapi_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_eapi_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'fxkz' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-fxkz
git checkout -B "prod_fxkz_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_fxkz_$riqitime"
git push --set-upstream origin "prod_fxkz_$riqi"
echo -e "\033[45m 分支名称为:prod_fxkz_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_fxkz_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'jdjc' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-jdjc
git checkout -B "prod_jdjc_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_jdjc_$riqitime"
git push --set-upstream origin "prod_jdjc_$riqi"
echo -e "\033[45m 分支名称为:prod_jdjc_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_jdjc_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'screen' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-screen
git checkout -B "prod_screen_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_screen_$riqitime"
git push --set-upstream origin "prod_screen_$riqi"
echo -e "\033[45m 分支名称为:prod_screen_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_screen_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'zwgl' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vspn30-zwgl
git checkout -B "prod_zwgl_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_zwgl_$riqitime"
git push --set-upstream origin "prod_zwgl_$riqi"
echo -e "\033[45m 分支名称为:prod_zwgl_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_zwgl_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
elif [ $project == 'service' ];then
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
cd vst-service
git checkout -B "prod_service_$riqi"
cp -rf $sjpath /z/01业务升级/product
if [ $? == 0 ];then
echo -e "\033[42m升级文件复制成功!!!\033[0m"
else
echo -e "\033[41m升级文件复制失败!!!\033[0m"
exit 1
fi
git add .
git commit -m "Push Code: prod_service_$riqitime"
git push --set-upstream origin "prod_service_$riqi"
echo -e "\033[45m 分支名称为:prod_service_$riqi \033[0m"
echo -e "\033[45m Commit ID:prod_service_$riqitime \033[0m"  
echo -e "\033[42m 上传升级完到gitlab成功!!\033[0m"
else
echo "输入的项目名称不存在,请执行 sh git.sh --help 查看具体项目名称!!"
fi
else
echo "输入升级环境不存在,请选择生产环境(prod) 或者 开发环境(dev)"
fi


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30345407/viewspace-2766382/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux6 联网yum 源
请登录后发表评论 登录
全部评论

注册时间:2015-07-13

  • 博文量
    204
  • 访问量
    426787