全局工具配置

全局工具配置概述

  • Global Tool Configuration,主要用于定义全局级的代码编译构建工具
  • 实际的操作过程相当于配置全局的环境变量,以便Jenkins能够通过对应插件调用该工具。
    • 例如:在pipeline的tools{}语句块中指定maven以便调用maven来进行Java代码编译
  • 其中包含的工具取决于安装的插件

JDK

  • Manage Jenkins → Global Tool Configuration → JDK

自动安装

  • 无论使用何种自动安装方式,配置完成后, Jenkins都不会立即进行安装,而是在第一次被用到才安装;

Run Batch Command

  • .

从 java.sun.com安装

  • 即安装Oracle JDK,需要输入用户名和密码,但Oracle Java SE 11+ 不再授权商用

解压 *.zip/*.tar.gz

  • 下载工具包并安装在Jenkins下的工作目录中. 例如:http://apache.promopeddler.com/ant/binaries/apache-ant-1.7.1-bin.zip (选择离你最近的镜像服务器) 并指定一个子目录apache-ant-1.7.1.

运行命令

  • 常用

  • 别名:

    • 例如:openjdk-11.0.14
  • 运行命令:

    • 例如:yum install -y java-11-openjdk
  • 工具目录:

    • 例如:/usr/lib/jvm/java-11-openjdk-11.0.14.1.1-6.el8.x86_64/bin/

非自动安装

  • 若Jenkins节点无法连接互联网,也可以选择在系统上通过其它方式部署好JDK,而后在Jenkins中经由$JAVA_HOME环境变量引用;

Maven

  • Manage Jenkins → Global Tool Configuration → Maven

自动安装

  • 无论使用何种自动安装方式,配置完成后, Jenkins都不会立即进行安装,而是在第一次被用到才安装;

Run Batch Command

  • .

从 Apache 安装

  • Jenkins节点能接入互联的情况下,直接从 Apache安装最为简单(因为服务器在国外,因此也有可能安装失败);
  • 各构建工具程序默认安装在${JENKINS_HOME}/tools/目录下

解压 *.zip/*.tar.gz

  • 下载工具包并安装在Jenkins下的工作目录中. 例如:http://apache.promopeddler.com/ant/binaries/apache-ant-1.7.1-bin.zip (选择离你最近的镜像服务器) 并指定一个子目录apache-ant-1.7.1.

运行命令

  • 常用

  • 别名:

    • 例如:
  • 运行命令:

    • 例如:
  • 工具目录:

    • 例如:

非自动安装

  • 若Jenkins节点无法连接互联网,也可以选择在系统上通过其它方式部署好maven,而后在Jenkins中经由$MAVEN_HOME环境变量引用;
    • 例如:/apps/apache-maven-3.8.6/

Golang

  • Jenkins运行golang程序的构建,其环境设定依赖于如下几步:
    • 安装Go插件;
    • 设定安装golang构建工具
    • Manage Jenkins → Global Tool Configuration → Go

Python

方法一

  • Python构建环境较容易存在版本冲突、第三方库冲突等问题,因此,Python开发通常会进行工程级别的环境隔离,也就是为每个Python工程配置一个专用的Python构建环境;
  • Jenkins上的Pyenv Pipeline插件可借助于系统上的virtualenv实现虚拟的Python环境管理;
  • 首先,在Jenkins节点上安装Python、pip和virtualenv;
    • apt install python3 python3-pip virtualenv python-virtualenv python3-virtualenv
    • yum install python3 python3-pip virtualenv python-virtualenv python3-virtualenv
  • 其次,在Jenkins上安装Pyenv Pipeline插件;
  • 最后,配置pipeline时,可使用Pyenv Pipeline插件提供的withPythonEnv方法,在当前Workspace中创建一个virtualenv环境;右边是一个用于测试python环境的pipeline;
pipeline {
    agent any
    stages {
        stage('Testing') {
            steps {
                withPythonEnv('python') {
                    sh "python --version"
                    sh "pip -V"
                }
                withPythonEnv('/usr/bin/python3') {
                    sh "python3 --version"
                    sh "pip3 -V"
                }
            }
        }
    }
}

方法二

  • 直接使用系统提供的Python环境,或者自动安装Python
    • 首先,在Jenkins上安装ShiningPanda插件;
    • 而后,在Jenkins上指定使用的Python环境;
      • Manage Jenkins → Global Tool Configuration → Python

Other

  • 借助于环境变量支持更多的构建工具
  • 也可在Pipeline中借助于PATH环境变量加载系统上已有的其它构建工具;