zoukankan      html  css  js  c++  java
  • [Jenkins]详细说说 Jenkins 配置那些事

    对于 Jenkins 的操作来说,搭建什么的我觉得没啥难度(如果觉得有难度,我觉得应该是没看我这篇文章:[Jenkins]CentOS7下Jenkins搭建),困难在于配置文件怎么写.这篇文章详细来说说.
    先说一下,这些配置只是起参考价值,具体还是需要根据自己的情况来.
    对于后端来说,配置文件主要在构建之后需要执行的操作( # 后面为注释内容)

    #!/bin/sh
    tomcat_path=/usr/local/tomcats/tomcat-test      	 #定义 tomcat 的位置
    project_web=$tomcat_path/test.war					 #定义项目打包位置
    if [ -f $project_web ] ;then 
    	echo -- stop tomcat
    	#kill tomcat pid
    	pidlist=`ps -ef | grep tomcat-test | grep -v grep | awk '{print $2}'`			#查看是否有进程正在运行
    	if [ "$pidlist" = "" ]								#没有进程在运行,则提示
    		then
    		 echo "no tomcat pid alive!"
    	else													#有进程在运行,杀掉
    	   echo "tomcat Id list :$pidlist"
    	   kill -9 $pidlist
    	   echo "KILL $pidlist:"
    	   echo "tomcat stop success"
    	fi 
    	
        echo -- 正在部署$project_web									#将进程杀掉之后,重新进行部署
        if [ -f $tomcat_path/webapps/test.war ] ;then			#查看 /webapps 目录下是否有以前的 war 包,如果有,删掉
            rm -f $tomcat_path/webapps/test.war
            rm -rf $tomcat_path/webapps/test
            echo -- 正在删除$project_web
        fi 
            cp $project_web $tomcat_path/webapps/test.war	#将新生成的 war 包复制到 /webapps 目录下
        # start tomcat
        echo $tomcat_path
        #sleep 5
        export JAVA_HOME=/usr/java/latest
        #$tomcat_path/bin/startup.sh
        ${tomcat_path}/bin/startup.sh 
    else 
    echo $BUILD_ID - 未找到$project_web
    fi
    

    对于前端来说,主要就是需要注意一下前端特有的打包方式:

    npm install --unsafe-perm
    ng build --prod --env=test --output-path=typing-dev --base-href ./
    

    对于 k8s 来说,需要在构建时创建事件:

    #!/bin/sh -l 
    
    examimage_path=reg.zll.com/library/test:1.0.0				#定义镜像在 harbor 上的位置
    
    cp test-web/target/test-web.war test-web/src/profiles/k8s_prod/test-web.war		#将 war 复制到目标目录下
    cd test-web/src/profiles/k8s_prod			#进入目标目录
    docker build -t $examimage_path .			#开始创建新的镜像,注意后面还有一个".",要不然命令是不会生效的
    docker push $examimage_path				#将构建好的镜像推到 harbor 上面去
    echo '推送镜像到harbor'
    
    #删除本地镜像
    docker rmi -f $examimage_path			#推送成功之后,将本地镜像删除
    
    #k8s部署
    echo '开始部署'
    kubectl delete -f $WORKSPACE/test-web/src/profiles/k8s_prod/.			#将本地的都删除
    
    
    echo $WORKSPACE
    kubectl create -f $WORKSPACE/test-web/src/profiles/k8s_prod/.		#部署最新的
    

    以上就是我接触到的配置文件常用方法,希望能够帮助到你~
    感谢您的阅读

  • 相关阅读:
    faster with MyISAM tables than with InnoDB or NDB tables
    w-BIG TABLE 1-toSMALLtable @-toMEMORY
    Indexing and Hashing
    MEMORY Storage Engine MEMORY Tables TEMPORARY TABLE max_heap_table_size
    controlling the variance of request response times and not just worrying about maximizing queries per second
    Variance
    Population Mean
    12.162s 1805.867s
    situations where MyISAM will be faster than InnoDB
    1920.154s 0.309s 30817
  • 原文地址:https://www.cnblogs.com/zll-0405/p/12534111.html
Copyright © 2011-2022 走看看