自动化测试框架[Cypress持续集成之Jenkins]

Jenkins是一款开源的CI/CD软件,用于各种任务的自动化执行,包括构建、测试、部署等,其流水线(Pipeline)是用户定义的一个CD流水线模型,流水线的代码定义了整个的构建过程,包括构建、测试和交付应用程序;流水线包括声明式流水线和脚本化流水线两种,而Pipeline属于声明式流水线

安装并配置Jenkins

Jenkins官方下载
自动化测试框架[Cypress持续集成之Jenkins]_第1张图片
安装过程此处忽略,就是传统的方式

安装Blue Ocean插件

自动化测试框架[Cypress持续集成之Jenkins]_第2张图片

安装Node.js插件

自动化测试框架[Cypress持续集成之Jenkins]_第3张图片

安装Envlnject插件

自动化测试框架[Cypress持续集成之Jenkins]_第4张图片

安装Github Integration插件

自动化测试框架[Cypress持续集成之Jenkins]_第5张图片

配置Github

自动化测试框架[Cypress持续集成之Jenkins]_第6张图片
自动化测试框架[Cypress持续集成之Jenkins]_第7张图片
自动化测试框架[Cypress持续集成之Jenkins]_第8张图片

自动化测试框架[Cypress持续集成之Jenkins]_第9张图片
自动化测试框架[Cypress持续集成之Jenkins]_第10张图片

配置Github

自动化测试框架[Cypress持续集成之Jenkins]_第11张图片

自动化测试框架[Cypress持续集成之Jenkins]_第12张图片

将Token复制下来,配置到Jenkins中,用于Jenkins中Github配置Credentials

自动化测试框架[Cypress持续集成之Jenkins]_第13张图片
自动化测试框架[Cypress持续集成之Jenkins]_第14张图片

Payload URl中填写Jenkins Server所在地址,格式为http://server ip:server port/github-webhook/

创建Jenkins Pipeline流水线

通过Jenkins页面创建流水线

自动化测试框架[Cypress持续集成之Jenkins]_第15张图片
自动化测试框架[Cypress持续集成之Jenkins]_第16张图片
自动化测试框架[Cypress持续集成之Jenkins]_第17张图片
自动化测试框架[Cypress持续集成之Jenkins]_第18张图片
自动化测试框架[Cypress持续集成之Jenkins]_第19张图片
自动化测试框架[Cypress持续集成之Jenkins]_第20张图片
自动化测试框架[Cypress持续集成之Jenkins]_第21张图片

保存后,Pipeline会自动生成一个Jenkinsfile并开始运行,之后便可以在Jenkins中看到该流水线的触发和执行过程了

直接编写Jenkinsfile创建流水线

在项目的根目录下直接建立Jenkinsfile文件定义流水线各个步骤

//Jenkinsfile(声明式流水线)
pipeline{
      //pipeline是声明式流水线的特定语法,它定义包含执行整个流水线的所有内容和指令
	agent any //agent是声明式流水线的特定语法,它指示Jenkins在节点上为整个流水线分配一个执行器和工作区
	stages{
     
		stage('Build'){
      //stage是一个描述stage of this pipeline的语法块
			steps{
      // steps是声明式流水线的一种特定语法,它描述了该stage中要运行的步骤
				sh 'make' //sh是一个执行给定命令的流水线step
			}
		}
		stage('Test'){
     
			steps{
     
				sh 'make check'
				junit 'reports/**/*.xml' //junit是另一个聚合测试报告的流水线step
			}
		}
		stage('Deploy'){
     
			steps{
     
				sh 'make publish'
			}
		}
		tools{
     
			Node.js 'Node.js 13'
		}
		environment{
     
			CHROME_BIN='/bin/google-chrome'
		}
	}
}

注意:Jenkinsfile中运行yarn命令是无效的,应该转成npm去执行

你可能感兴趣的:(Cypress,配置Jenkins,配置Github,创建Pipeline)