zoukankan      html  css  js  c++  java
  • 自动化 部署 代码的 脚本

    1 安装  git

      yum install git

    2 安装maven 

    3 生成  公私钥,并且在仓库配置 ssh 公钥

    4 编写 自动化 话代码

      

    #baseDir 基本目录
    #codeUrl 代码地址
    #codeDirName 代码拉下来后, 主文件目录名字
    #jar 文件的名字
    #activeProfile 用哪个 profile 启动jar 文件
    #克隆 git 的那个分支
    
    
    baseDir=/opt/webserver/ecard;
    codeUrl=ssh://git@gitlab.cdwit120.com:2222/ecard-app/backend.git;
    codeDirName=backend;
    jarName=ecard-app-backend-1.0.0-test.jar
    activeProfile=test
    gitBranch=master
    
    
    
    
    codeDir=$baseDir/code;
    
    
    #检查主目录
    if [ -d $baseDir ];then
    	echo  "存在代码目录"
    else 
    	mkdir $baseDir;
    fi
    
    #检查代码目录
    if [ ! -d $codeDir ];then
    	mkdir $codeDir;
    	cd $codeDir;
    	git clone -b $gitBranch $codeUrl;
    fi	
    
    
    #拉取代码编译生成jar
    cd $codeDir/$codeDirName;
    git pull;
    mvn clean package;
    rm -f $baseDir/$jarName;
    cp $codeDir/$codeDirName/target/$jarName $baseDir;
    
    
    
    #启动
    cd $baseDir;
    bpid=$(ps -ef|grep $jarName|grep -v grep |awk '{print $2}');
    
    
    
    if [ ! -n $bpid ];then
    	nohup java -jar $jarName --spring.profiles.active=$activeProfile  &
    else
    	kill $bpid;
            nohup java -jar $jarName --spring.profiles.active=$activeProfile  &
    fi
    
    
    
    
    echo $baseDir
    echo $codeDir
    echo $codeUrl
    echo $codeDirName
    echo $bpid;
    

      

  • 相关阅读:
    Java 中的定时任务(一)
    超实用 Git 使用方式介绍
    TCP 建立连接为什么要握 3 次手?
    OSI、TCP、IP、UDP 这些都是啥??
    Java 中线程安全问题
    PlantUML——3.Graphviz的安装
    PlantUML——2.中文乱码及解决
    PlantUML——1.Hello
    maven实战系列
    NGUI优化之Drawcall
  • 原文地址:https://www.cnblogs.com/cxygg/p/13396574.html
Copyright © 2011-2022 走看看