Jenkins 集成Gitlab pipeline,web hook

Jenkins构建步骤

拉取代码
代码构建
单元测试
质量扫描
部署开发环境

Jenkins pipeline语法

Stage:阶段,一个pipeline可划分为若干个stage,没个stage代表一组操作。例如Build,Test,Deploy。注意点:Stage是一个逻辑分组的概念,可以跨多个Node
Node:节点,一个节点就是一个Jenkins节点,或者是master,或者是agent是执行step的具体运行环境,所有任务都是在node上执行
Step:步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供,例如:sh ‘make’

pipeline 测试

pipeline script

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
        stage('拉取代码') {
            steps {
                echo 'code pull'
            }
        }
        stage('代码构建') {
            steps {
                echo 'code build'
            }
        }
        stage('unit test') {
            steps {
                echo 'unit test'
            }
		}
        stage('是否部署开发环境') {
           steps {
                input  '是否部署'
            }
        }
   }   
 }

在这里插入图片描述

保存后构建

在这里插入图片描述

配置Jenkins 连接到 Gitlab,实现拉取代码

gitlab,创建组,项目(Jenkins)

在这里插入图片描述

在这个组下创建项目Jenkins
配置密钥对,把公钥上传到gitlab 实现服务器免密登录到gitlab,拉取代码(这个在gitlab有写,需要注意的是全局的密钥对还是某个项目的密钥对)

Jenkins语法生成器,配置语法连接到gitlab

使用语法生成器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Repository URL

从gitlab找到克隆的网址,选择ssh的方式
在这里插入图片描述

配置密钥对,连接到gitlab(这个密钥对作用是Jenkins可以从gitlab托取代码)

配置密钥对可以通过网上查找linux 生成密钥对
点击Jenkins,对Jenkins添加密钥对

在这里插入图片描述

在这里插入图片描述

还是报错是因为是全局的key不是项目的,要在gitlab里把公钥添加到项目

在这里插入图片描述

在Jenkins上重新选择,点击Generate Pipeline Script 生成语句,并添加到Pipeline Script,保存构建(这条生成的语句是为了连接到gitlab)

在这里插入图片描述

在这里插入图片描述

Jenkins集成gitlab web hook 实现提交代码自动构建

目的:当开发提交代码,Jenkins自动构建任务

Jenkins安装插件

gitlab,gitlab hook, gitlab authentication
在这里插入图片描述

gitlab生成令牌(token)

在这里插入图片描述

Jenkins系统配置gitlab 身份token

在这里插入图片描述

在这里插入图片描述

Jenkins构建项目添加构建触发条件两种方式

使用token方式

在这里插入图片描述

复制下图的URL添加到gitlab里
在这里插入图片描述
在这里插入图片描述
取消下面 SSL verification认证

使用密码登录方式

在这里插入图片描述

测试完成后,就可以测试更改代码,提交后看Jenkins是否自动构建任务

提交代码,查看是否自动构建

在这里插入图片描述

当Jenkins和gitlab在同一台服务器时,gitlab提示连接Jenkins失败解决方案

在gitlab admin配置里,找到Outbound requests,允许Jenkins和gitlab在同一台服务器时启用webhooks

在这里插入图片描述


版权声明:本文为weixin_43258559原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。