当前位置 博文首页 > hibiscusxin的博客:deploy脚本远程部署

    hibiscusxin的博客:deploy脚本远程部署

    作者:[db:作者] 时间:2021-08-30 12:55

    deploy脚本远程部署

    1、deploy/docker-compose.yml

    // deploy/docker-compose.yml
    version: '2'
    services:
      nginx_admin:
        image: 'bitnami/nginx:latest'
        restart: always
        ports:
          - '9527:8080'
        volumes:
          - .:/app
    
    

    2、deploy/sync.sh

    // deploy/sync.sh
    echo $1
    
       theServer=buyer
       theFolder=/srv/html
       theCatalog=buyer
       DATE_WITH_TIME=`date "+%Y%m%d-%H%M%S"`
       case "$1" in
       	"s" | "sync")
       		ssh $theServer "mkdir -p $theFolder/$theCatalog" // 在服务器创建多级目录
       		scp -r -v ./dist/* $theServer:$theFolder/$theCatalog // 从本地复制到远程 递归复制整个dist目录 详细方式显示输出
       		scp -r -v ./deploy/docker-compose.yml $theServer:$theFolder/$theCatalog/docker-compose.yml
       	;;
       	"o" | "online")
       		npm run build:prod
       		./deploy/sync.sh s
       		./deploy/sync.sh d
       		./deploy/sync.sh u
       	;;
       	"u" | "up")
       	// 开启
       	    ssh $theServer "cd $theFolder/$theCatalog && docker-compose -f docker-compose.yml up -d"
           ;;
        //  关闭
           "d" | "down")
           	ssh $theServer "cd $theFolder/$theCatalog && docker-compose -f docker-compose.yml down"
           ;;
       	*)
           echo 'do nothing'
       	;;
       esac
    
    

    3、windows依次执行以下命令,mac直接运行即可

    cd 根目录
    sh deploy/sync.sh o 
    
    cs