Jenkins 服务配置Maven 工具和工具使用说明

2020-06-18 0 By admin

一、Maven 工具安装

Jenkins pipeline的tools指令默认就支持Maven。进入Manage Jenkins→Global Tool Configuration→Maven页设置要安装的 Maven 的版本即可。

二、配置 Maven 服务使用私有仓库

在公司平台开发过程中,普遍会自行搭建 Maven 仓库;这种情况下,我们需要修改 Maven 服务的配置,让它来使用我们自己的仓库,而不是官方仓库。
1、在 Maven 服务独立使用过程中,我们修改 Maven 的配置文件的话,需要修改 ${M2 HOME}/conf/settings.xml 文件;但是当和 Jenkins 结合使用时,我们需要考虑到 Jenkins 集群和 K8S 容器弹性伸缩的设置;所以不推荐使用直接修改 settings 文件的方式。
2、我们可以使用 Config File Provider 插件来实现配置文件的设置。

三、Managed file 设置 Maven 的配置文件

Config File Provider插件(https://plugins.jenkins.io/config-file-provider)安装完成后,就可以在Manage Jenkins页面,就可以看到多出一个“Managed files”菜单。
1、进入功能页面,就可以编辑 Maven 的全局配置文件和用户配置文件了。
2、编辑好 Maven 的配置文件后,在 Global tools Configuration 页面中,可以设置 Maven 服务使用此文件。

四、Maven 服务使用指定的配置文件

在上文中,我们已经配置了 Maven 服务的配置文件,并且在 Jenkins 服务的配置页面Global tools Configuration 中设置使用我们设置的配置文件。
不过在 Pipeline 流水线中好像并不会默认使用我们设置的配置文件;还需要在脚本中指明要使用的配置文件。

4.1、Config File Provider 插件使用配置文件

configFileProvider([configFile(fileId:'maven-global-settings',variable:'MAVEN_GLOBAL_ENV')]) {
	sh "mvn -s $MAVEN_GLOBAL_ENV clean install"
}

4.2、 Pipeline Maven Integration 插件使用配置文件

    withMaven(
        // Maven installation declared in the Jenkins "Global Tool Configuration"
        maven: 'maven-3',
        // Maven settings.xml file defined with the Jenkins Config File Provider Plugin
        // We recommend to define Maven settings.xml globally at the folder level using 
        // navigating to the folder configuration in the section "Pipeline Maven Configuration / Override global Maven configuration"
        // or globally to the entire master navigating to  "Manage Jenkins / Global Tools Configuration"
        mavenSettingsConfig: 'my-maven-settings') {

      // Run the maven build
      sh "mvn clean verify"

    } // withMaven will discover the generated Maven artifacts, JUnit Surefire & FailSafe & FindBugs & SpotBugs reports...