前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速创建项目神器-项目克隆脚本

快速创建项目神器-项目克隆脚本

作者头像
vakinge
发布2023-02-22 15:24:20
2630
发布2023-02-22 15:24:20
举报
文章被收录于专栏:伯约架构思维伯约架构思维

现在大家都流行用微服务,所以需要创建新项目的频率也越来越高。在此分享一段基于模板项目生成新项目的脚本。原理很简单,关键词替换,所以新建服务名尽量使用辨识度高的

模板项目:templatev1-service

代码语言:javascript
复制
#!/bin/sh
if [ ! -n "$1" ] ;then  
    echo "请输入项目名"   
    exit 0
fi 
MOUDLE_NAME=$1
PROJECT_NAME="$1-service"
echo "PROJECT_NAME : $PROJECT_NAME"
NEW_BASE_DIR=../$PROJECT_NAME
if [ -d "$$EW_BASE_DIR" ] ;then  
    echo "项目$PROJECT_NAME 已存在"   
    exit 0
fi 
mkdir -p $NEW_BASE_DIR
doCopy() {
   for file in $1/*; do
	if [ -d "$file" ]; then
    if [[ "$file" =~ "target" ]]; then
        continue
      fi
     dir=${file:2}
     dir=$NEW_BASE_DIR/${dir//templatev1/$MOUDLE_NAME}
     mkdir -p $dir
     echo "mkdir  $dir  ok!!"
     doCopy $file
    elif [ -f $file ]; then
      if [[ "$file" =~ "cloneproject.sh" ]]; then
        continue
      fi
      newfile=${file//templatev1/$MOUDLE_NAME}
      newfile=$NEW_BASE_DIR${newfile:1}
      cp $file $newfile
      echo "copy $newfile OK."
    fi
  done
}
doCopy .

cd ../$PROJECT_NAME


REPLACE_COMMOND="find $NEW_BASE_DIR -name '*.*' | xargs perl -pi -e 's|templatev1|$MOUDLE_NAME|g'"
sh -c "$REPLACE_COMMOND"
echo ">>创建 $PROJECT_NAME 完成"

用法:

代码语言:javascript
复制
./cloneProject.sh user

将生成新的项目user-service

推荐:在线生成项目

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档