jenkins通过shell、pipline构建工程

 1、通过shell构建工程(tomcat容器运行),代码在gitlab上托管

#!/bin/bash
#进入到项目的克隆路径下,将上一次的工程删掉(devops工程路径)
cd /data/git/magedu && rm -rf devops
#从gitlab上克隆项目,并且进入到devops工程中,并且达成tar包
git clone git@172.31.3.101:magedu/devops.git && cd devops && tar czvf devops.tar.gz ./

#停止web服务
ssh magedu@172.31.3.105 "/etc/init.d/tomcat stop"
ssh magedu@172.31.3.106 "/etc/init.d/tomcat stop"

#分发代码
scp devops.tar.gz magedu@172.31.3.105:/data/tomcat/tomcat_webapps/
scp devops.tar.gz magedu@172.31.3.106:/data/tomcat/tomcat_webapps/

#代码替换
ssh magedu@172.31.3.105 "cd /data/tomcat/tomcat_webapps/ && rm -rf devops/* && tar xvf devops.tar.gz  -C devops/ && rm -rf devops.tar.gz"
ssh magedu@172.31.3.106 "cd /data/tomcat/tomcat_webapps/ && rm -rf devops/* && tar xvf devops.tar.gz  -C devops/ && rm -rf devops.tar.gz"

#启动web服务
ssh magedu@172.31.3.105 "/etc/init.d/tomcat start"
ssh magedu@172.31.3.106 "/etc/init.d/tomcat start"

2、通过pipline构建工程--脚本式

node {
    stage("clone 代码"){
        sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && rm -rf ./*"
        git branch: 'develop', credentialsId: '0792719f-b4fe-412a-a511-e8ecf60dd760', url: 'git@172.31.0.101:magedu/app1.git'
        echo "代码 clone完成"
    }
    stage("代码构建"){
        sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && tar czvf linux40.tar.gz ./*"
    }
   stage("停止服务"){
		sh 'ssh www@172.31.0.106 "/etc/init.d/tomcat stop && rm -rf /data/tomcat/tomcat_webapps/linux40/*"'
		sh 'ssh www@172.31.0.107 "/etc/init.d/tomcat stop && rm -rf /data/tomcat/tomcat_webapps/linux40/*"'
   }
   
    stage("代码copy"){
		sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && scp linux40.tar.gz  www@172.31.0.106:/data/tomcat/tomcat_appdir/"
		sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && scp linux40.tar.gz  www@172.31.0.107:/data/tomcat/tomcat_appdir/"
    }
	
	
   stage("代码部署"){
    	sh 'ssh www@172.31.0.106 "cd  /data/tomcat/tomcat_appdir/ && tar xvf linux40.tar.gz -C /data/tomcat/tomcat_webapps/linux40/"'
		sh 'ssh www@172.31.0.107 "cd  /data/tomcat/tomcat_appdir/ && tar xvf linux40.tar.gz -C /data/tomcat/tomcat_webapps/linux40/"'
   }
    stage("启动服务"){
		sh 'ssh www@172.31.0.106 "/etc/init.d/tomcat start"'
		sh 'ssh www@172.31.0.107 "/etc/init.d/tomcat start"'
   }
   
}

3、通过pipline构建工程--声明式(推荐使用)

pipeline{
    //agent any  //全局必须带有agent,表明此pipeline执行节点
    agent { label 'jenkins-node1' }
    stages{
        stage("代码clone"){
            //#agent { label 'master' }  //具体执行的步骤节点,非必须
            steps{
                sh "cd /var/lib/jenkins/workspace/pipline-test && rm -rf ./*"
                git branch: 'develop', credentialsId: '0792719f-b4fe-412a-a511-e8ecf60dd760', url: 'git@172.31.0.101:magedu/app1.git'
                echo "代码 clone完成"
            }
        }
        
        stage("代码构建"){
			steps{
				sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && tar czvf linux40.tar.gz ./*"
			}
		}
		
	   stage("停止服务"){
			steps{
				sh 'ssh www@172.31.0.106 "/etc/init.d/tomcat stop && rm -rf /data/tomcat/tomcat_webapps/linux40/*"'
				sh 'ssh www@172.31.0.107 "/etc/init.d/tomcat stop && rm -rf /data/tomcat/tomcat_webapps/linux40/*"'
			}
		}
        
		stage("代码copy"){
			steps{
				sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && scp linux40.tar.gz  www@172.31.0.106:/data/tomcat/tomcat_appdir/"
				sh "cd /var/lib/jenkins/workspace/pipline-linux40-app1-develop && scp linux40.tar.gz  www@172.31.0.107:/data/tomcat/tomcat_appdir/"
			}
		}
		
		stage("代码部署"){
			steps{
				sh 'ssh www@172.31.0.106 "cd  /data/tomcat/tomcat_appdir/ && tar xvf linux40.tar.gz -C /data/tomcat/tomcat_webapps/linux40/"'
				sh 'ssh www@172.31.0.107 "cd  /data/tomcat/tomcat_appdir/ && tar xvf linux40.tar.gz -C /data/tomcat/tomcat_webapps/linux40/"'
			}
		}
		
		
		stage("启动服务"){
			steps{
				sh 'ssh www@172.31.0.106 "/etc/init.d/tomcat start"'
				sh 'ssh www@172.31.0.107 "/etc/init.d/tomcat start"'
			}
		}
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值