Jenkins - 构建项目的类型

 Jenkis 中自动构建项目的类型有很多,常用的有以下三种:

  • 自由风格软件项目 (FreeStyle Project)
  • Maven项目
  • 流水线项目(Pipeline Project)

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

构建自由风格软件项目

过程: 拉取代码 -> 编译 -> 部署到tomcat

部署到 tomcat要kenkins 下载一个插件:

  1. 源码管理

2.构建

构建后操作:

具体填写:

构建时一直报错:

排查了好久才找到原因:
conf/tomcat-users.xml 配置的时候少了一个分隔符

3.构建成功

Windows 访问:

MAVEN 项目

需要安装插件:

与自由风格的不同点如下,其他都一样

Pipeline 项目

下载插件:PipeLine

拉取代码

创建一个流水线项目,其他位置不用填,在流水线 位置做如下操作

生成器片段可以帮我们生成scripts:

其他保持默认

生成脚本:

添加到pipeline scripts:

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                # 生成器片段生成的scripts
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'ee60cdd4-119c-4e3c-9814-ddd54b5b81ff', url: 'git@192.168.184.149:test_group/web_demo.git']]])
            }
        }
    }
}

Build

生成器片段:

Pipeline scripts:

deploy

注意选择deploy:xxx 就可以了,其他和其他类型的构建,再配置发布容器的时候一致

最终的Pipeline scripts:

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'ee60cdd4-119c-4e3c-9814-ddd54b5b81ff', url: 'git@192.168.184.149:test_group/web_demo.git']]])
            }
        }
         stage('build project') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('deploy project') {
            # 部署
            steps {
                deploy adapters: [tomcat8(credentialsId: '8d65df2f-94f0-4d74-b775-dbe807b2b2d9', path: '', url: 'http://192.168.184.151:8080/')], contextPath: null, war: 'target/*.war'
            }
        }
    }
}

Pipeline Scripts from SCM

之前我们都是在Jenkins的UI 界面写Pipeline代码,这样不方便脚本维护,建议把Pipeline脚本放在项目中,一起进行版本控制

在项目中添加scripts:

Jenkins - PipeLine - 高级项目选项

posted @ 2022-03-12 11:12  chuangzhou  阅读(153)  评论(0编辑  收藏  举报