CI/CD-Jenkins pipeline文档

Jenkins pipeline

1.Jenkins pipeline基本概述

1.什么是Pipeline?

可以理解将我们开发部署环境生态链的每一步都通过pipeline流水线串联起来,并代码化,使得我们开发人员一键就能将本地的代码发布到测试环境经行测试发布,最终实现持续集成持续发布。

2.为什么要使用Pipeline?

之前传统的开发部署流程,每一步都需要人为干预,迁移到pipeline能够实现每一步自动化,不需要人为干预,所有流程都可以通过代码自动化。

3.迁移pipeline有什么好处?

可以实现持续集成持续部署,节省产品发布时间,优化部署策略,节省人力成本,自动化脚本复用等等

在这里插入图片描述

pipeline {
	agent any

	stages{
		stage('获取代码') {
			steps {
			
	      checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '4dc04ffd-15bf-46e3-a942-2b58f37bc26b', url: 'git@gitlab.zhangxianwei.com:dev/java.git']]])
			
			}
		}
		
		stage('代码检测'){
			steps {
				echo "sonarqube check...."
			}
		}		
		stage('代码构建'){
			steps {
				echo "maven build....."
			}
		}	
		stage('代码部署'){
			steps {
			    echo "echo sh"
			//	sh -x '/server/scripts/deploy_html_tag.sh'
			}
		}
	}
	
}

2. pipeline实现代码自动化部署

代码拉取->代码检测->代码构建->代码部署->消息通知
1.新建一个流水线Jenkins任务
2.点击配置,配置pipeline基本信息,选择参数化构建

在这里插入图片描述

3.配置流水线pipeline代码,如下

在这里插入图片描述

4.pipeline代码如下
pipeline {
	agent any

	stages{
		stage('获取代码') {
			steps {
				checkout([$class: 'GitSCM', branches: [[name: '${git_version}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '4dc04ffd-15bf-46e3-a942-2b58f37bc26b', url: 'git@gitlab.zhangxianwei.com:dev/java.git']]])
			}
		}
		
		stage('代码检测'){
			steps {
				sh label: '', script: 'mvn sonar:sonar  -Dsonar.projectKey=java -Dsonar.projectName=${JOB_NAME} -Dsonar.sources=. -Dsonar.host.url=http://sonar.zhangxianwei.com:9000   -Dsonar.login=9d43745c0e45eaee7a6b749e7778f21a0a808ab5'
			}
		}
		
		stage('代码构建'){
			steps {
				sh label: '', script: 'cd ${WORKSPACE} && mvn clean package -Dmaven.test.skip=true'
			}
		}
	
		stage('代码部署'){
			steps {
			    sh label: '', script: 'sh -x /server/scripts/deploy_java_tag.sh'
			
			}
		}
	}
  post { //stages所有任务执行后触发post
    failure	{	//构建失败通知
      dingTalk accessToken: '叮叮token号'
     
    }
    success { //构建成功通知
      dingTalk accessToken: '叮叮token号'
      
    }
  }
      
  }
	
}
5.流水线pipeline脚本怎么自动生成?
代码拉取

在这里插入图片描述

生成流水线脚本

在这里插入图片描述

代码检测

在这里插入图片描述

代码构建

在这里插入图片描述

消息通知
post { //stages所有任务执行后触发post
    failure	{	//构建失败通知
      dingTalk accessToken: '叮叮token号'
     
    }
    success { //构建成功通知
      dingTalk accessToken: '叮叮token号'
      
    }
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值