阿粉想和你详细聊聊 Jenkins 配置那些事

开发 前端
这篇文章就结合阿粉的工作经验,来说说 Jenkins 的那些详细配置,这些配置主要就是当我们让 Jenkins 帮我们部署完成之后,需要执行的脚本。

[[349356]]

 本文转载自微信公众号「Java极客技术」,作者鸭血粉丝。转载本文请联系Java极客技术公众号。   

这篇文章就结合阿粉的工作经验,来说说 Jenkins 的那些详细配置,这些配置主要就是当我们让 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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.

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

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

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

#!/bin/sh -l  
 
examimage_path=reg.afen.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/.  #部署最新的 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

到这里,阿粉想要分享的内容就没有啦~

在项目中你是如何使用 Jenkins 的呢?

 

责任编辑:武晓燕 来源: Java极客技术
相关推荐

2021-03-28 13:54:31

操作系统内存管理

2022-09-09 08:08:28

开源项目服务

2023-07-31 08:21:22

语法校对器Pick

2021-08-19 07:34:55

RabbitMQLinuxWindows

2020-11-30 13:10:39

MySQL安全服务器

2021-08-06 11:50:49

Linux 字节对齐Linux 系统

2019-01-07 12:02:02

TCP长连接Java

2024-02-21 07:24:21

微服务单体架构MVC

2017-12-21 08:06:40

2024-10-14 12:34:08

2021-10-26 11:42:51

系统

2022-02-15 19:50:18

加载器JAVAJDK

2020-03-09 10:21:12

Java集合类 Guava

2020-07-09 07:54:35

ThreadPoolE线程池

2020-05-09 12:16:12

中台架构工具

2014-07-22 10:42:04

2011-05-19 16:47:50

软件测试

2012-05-01 08:06:49

手机

2021-06-02 08:33:31

TPCTPC-H系统

2017-05-15 21:50:54

Linux引号
点赞
收藏

51CTO技术栈公众号