0
点赞
收藏
分享

微信扫一扫

Devops 基础篇之使用Jenkins构建自由风格、Maven、流水线项目(四)

书写经典 2022-02-14 阅读 66

文章目录

一、Jenkins项目构建类型

  • Jenkins中自动构建项目的类型有很多,常用的有以下三种:
    自由风格软件项目(FreeStyle Project)
    Maven项目(Maven Project)
    流水线项目(Pipeline Project)

  • 每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己的需求和习惯来选择。(PS:个人推荐使用流水线类型,因为灵活度非常高)

二、自由风格项目构建

下面演示创建一个自由风格项目来完成项目的集成过程: 拉取代码->编译->打包->部署

1. 创建项目

在这里插入图片描述

配置源码管理,使用ssh方式从gitlab拉取代码,配置完成后,点击应用并保存
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 编译打包

构建->添加构建步骤->Executor Shell,设置完成后,点击应用并保存
在这里插入图片描述

echo "开始编译和打包" 
mvn clean package 
echo "编译和打包结束"

再次构建,可以看到结果成功
在这里插入图片描述
可以在target目录中查看到产生的war包
在这里插入图片描述

3. 部署

我们需要把项目部署到远程的Tomcat里面,需要安装 Deploy to container插件,因为 Jenkins 本身无法实现远程部署到Tomcat的功能,需要安装此插件来实现

在这里插入图片描述

  • 增加构建后操作
    在这里插入图片描述
    先添加Tomcat用户凭证

在这里插入图片描述
然后添加构建后操作

在这里插入图片描述

开始构建
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4. 演示改动代码后的持续集成

在 IDEA 中源码修改并提交到 gitlab

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

在这里插入图片描述

在这里插入图片描述
在gitlab上查看是否提交成功
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
访问Tomcat中项目,可以看到成功发布出去了

在这里插入图片描述

三、Maven项目构建

1. 安装 Maven Integration 插件

在这里插入图片描述

2. 创建Maven项目

在这里插入图片描述

3. 配置项目

拉取代码和远程部署的过程和自由风格项目一样,只是"构建"部分不同

在这里插入图片描述

在这里插入图片描述

4. 在 IDEA 中源码修改并提交到 gitlab

在这里插入图片描述

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

5. 构建并发布

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

四、Pipeline流水线项目构建

1.Pipeline简介

概念:
  Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

2.使用Pipeline的好处

3. 创建Pipeline项目方式

Pipeline 脚本是由 Groovy 语言实现的

  • Groovy Pipeline 支持两种语法:
    Declarative(声明式)
    Scripted Pipeline(脚本式)
  • Pipeline 也有两种创建方法:
    ① 直接在 Jenkins 的 Web UI 界面中输入脚本
    ② 通过创建一个 Jenkinsfile 脚本文件放入项目源码库中

一般我们都推荐在 Jenkins 中直接从源代码控制(SCM) 中直接载入 Jenkinsfile Pipeline 这种方法

4.安装Pipeline插件

Manage Jenkins->Manage Plugins->可选插件

5. Declarative声明式

创建项目

在这里插入图片描述
流水线->选择HelloWorld模板

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

  • 编写一个简单声明式 Pipeline
node {
    def mvnHome
    stage('pull code') { 
      echo 'pull code'    	
    }
    stage('Build project') {
      echo 'built project'
    } 
    stage('publish project') {
      echo 'publish project'
    }
}

拉取代码——编译构建——项目部署

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

6. 使用声明式构建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拉取代码示例:

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: '1569d1b5-7568-4b58-abbf-63b70b624ada', url: 'git@192.168.8.20:gmy/web_demo.git']]])
            }
        }
    }
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

整个过程的代码如下

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'afaf7e66-9230-475a-a7fb-f33a2283067e', url: 'git@192.168.8.20:gmy/web_demo.git']]])
            }
        }
        stage('built project') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('publish') {
            steps {
                deploy adapters: [tomcat8(credentialsId: '2a09c577-79ca-4b5a-ad19-44c6708e42b9', path: '', url: 'http://192.168.8.18:8080/')], contextPath: '/', war: 'target/*.war'
            }
        }
    }
}

7. Pipeline Script from SCM

由于在Jenkins的UI界面编写Pipeline代码不方便脚本维护,并且脚本容易丢失,所以可以把Pipeline脚本放在项目中(一起进行版本控制)

在项目根目录建立Jenkinsfile文件,把内容复制到该文件中

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新配置web_demo_pipeline项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在 IDEA 中源码修改并提交到 gitlab

在这里插入图片描述

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>

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

举报

相关推荐

Jenkins流水线部署Maven项目

0 条评论