站点设置

刚搭建好 Jenkins 环境,你还需要做一些简单设置,让我们的 Jenkins 看起来是这么一回事,特别是你要用于生产环境的时候。首先就是域名配置,如果你为 Jenkins 服务分配了一个域名,通过 Nginx 反向代理的方式来访问 Jenkins 服务的话,当你访问 Jenkins 的【系统管理】界面时就会看到如下警告,提示反向代理设置有误,当前安装的下列组件已有警告发布:



我们需要去到【系统配置】里面做下设置,将 Jenkins URL 由之前默认的 IP 修改成域名:



还是在 Jenkins 的【系统管理】面板中,点击【配置显示哪些警告】,或者去到【全局安全配置】设置里面,找到【隐藏的安全警告】这个地方,在【安全警告...】里面将这些警告隐藏掉:

对于安全警告最好的做法是升级 Jenkins 版本,但是新版 Jenkins 界面管理差异较大,我们暂时就先将这些警告隐藏掉吧,玩透了 Jenkins 后面我们就可以使用新版的 Jenkins。

工具配置

我们利用 Jenkins 构建我们的项目时可能还需要一些其他工具,例如构建 Java 项目需要 JDK,Ant 管理的项目需要 Ant 工具,Maven 管理的项目需要 Maven 工具,Gradle 管理的项目需要 Gradle,nodeJs 项目需要 Node 和 Npm 等。我们要先将这些需要的工具下载离线安装包,解压到 Jenkins 可以访问的目录,特别强调下,不推荐采用系统全局安装我们需要的工具,否则某些项目需要不同的工具版本,那会搞得比较麻烦。采用离线安装包放在不同的目录,对于工具版本的切换非常方便。另外对于 Maven 或者 Gradle 项目,推荐使用 Maven Wrapper 或者 Gradle Wrapper,这样就可以让项目自己决定使用什么版本的工具。

Jenkins 默认运行环境是 OpenJDK,如果我们的项目构建需要用 OracleJDK,那我们就去 Oracle 官网下载具体的 JDK 版本。例如,我这里下载了一个 OracleJDK 1.8.0_241,把它放在了 /var/jenkins_home/software/jdk1.8.0_241 目录,还准备了一个 Maven,在 /var/jenkins_home/software/apache-maven-3.6.3 目录。

如果你不想自己去下载离线包安装,也不想在系统里面全局安装这些工具,还可以选择去到 Jenkins 的【系统管理】中的【全局工具配置】里面,这个界面可以设置需要的软件,目前支持配置安装 JDK、Git、Gradle、Ant、Maven 等工具。例如我这里配置了一个 JDK 的安装,点击【新增 JDK 】按钮,填写好 JDK 别名,选择好 JDK 版本,目前支持的 JDK 版本从 1.4 到 JDK 9 都有,我这里选最新的一个 JDK 8,使用 JDK 需要同意 Oracle 的许可协议,同意许可协议要求登录 Oracle 账号,目前在 Oracle 官网下载 JDK 也都是需要登录的,没有 Oracle 账号就去注册一个,有账号就直接登录,Jenkins 也集成了登录功能。

【全局工具配置】里面可以支持添加以下工具:



添加一个 JDK,选择 JDK 8:



登录 Oracle 账号,同意 JDK 的许可协议:

环境变量

通过【全局工具配置】添加的工具可以在 Jenkins 的任务里面直接使用,不用专门设置环境变量。如果是自己通过离线包解压的方式安装的工具,为了让 Jenkins 能够知道我们的工具在哪里,这就需要用到环境变量。还是在 Jenkins【系统配置】里面的【全局属性】下面,有个【环境变量】复选框,勾选上,增加环境变量键值对,例如我这里就设置了 JDK 和 Maven 的环境变量:



在进行 Maven 构建打包的时候就可以使用 $MAVEN_HOME/bin/mvn clean  package 进行 Maven 打包,也可以用 export 命令临时调整环境变量:

[jenkins@asus-centos ~]$ export MAVEN_HOME=/var/jenkins_home/software/apache-maven-3.6.3
[jenkins@asus-centos ~]$ $MAVEN_HOME/bin/mvn -version

注意事项

在 Jenkins 上用到的工具可以是 【全局工具配置】或者自己离线安装然后配置环境变量,但是这两种方式请二选一,如果你既设置了【全局工具配置】又自己添加了环境变量,可能会产生奇怪问题。

我们的 Maven 和 Gradle 的设置访问一些私有制品仓库时需要配置账号密码,当在 Jenkins 节点上执行打包时 Jenkins 会在配置该节点的系统账号下的 .m2 或者 .gradle 目录去寻找,所以也需要将 Jenkins 主节点的 Maven settings.xml 或者 Gradle init.gradle 配置文件弄一份到其他节点的用户目录下的 .m2 或者 .gradle 目录中。

Jenkins 基础篇 - 基础设置的更多相关文章

  1. 2-STM32+W5500+GPRS物联网开发基础篇-基础篇学习的内容

    https://www.cnblogs.com/yangfengwu/p/10936553.html 这次的基础篇为公开篇,将公开所有基础篇的资料和源码 现在说一下基础篇准备公开的内容:(大部分哈,要 ...

  2. Jenkins: 基础篇(环境配置)

    自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...

  3. 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(基础篇)

    背景 ​ 最近因为要做一个新的管理后台项目,新公司大部分是用vue写的,技术栈这块也是想切到react上面来,所以,这次从0到1重新搭建一个react项目架子,需要考虑的东西的很多,包括目录结构.代码 ...

  4. Maven——基础篇

    Maven--基础篇 Maven出现前的问题 一个项目就是一个工程,而工程内一般是通过package包来分模块,比较用户模块,订单模块等,如果项目过于庞大,通过包模块来划分就不太合适,而应该拆分为模块 ...

  5. C#多线程之基础篇3

    在上一篇C#多线程之基础篇2中,我们主要讲述了确定线程的状态.线程优先级.前台线程和后台线程以及向线程传递参数的知识,在这一篇中我们将讲述如何使用C#的lock关键字锁定线程.使用Monitor锁定线 ...

  6. 2000条你应知的WPF小姿势 基础篇<15-21>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...

  7. C#多线程之基础篇2

    在上一篇C#多线程之基础篇1中,我们主要讲述了如何创建线程.中止线程.线程等待以及终止线程的相关知识,在本篇中我们继续讲述有关线程的一些知识. 五.确定线程的状态 在这一节中,我们将讲述如何查看一个线 ...

  8. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  9. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

随机推荐

  1. 攻防世界 reverse 进阶 notsequence

    notsequence  RCTF-2015 关键就是两个check函数 1 signed int __cdecl check1_80486CD(int a1[]) 2 { 3 signed int ...

  2. certutil绕过

    一般进内网过后我都会使用certutil下载文件,但在最近打一台内网机子的时候出现了certutil拒绝访问的情况,在本地搭建了一个环境尝试绕过certutil下载文件. 安装杀软更新到最新版本,开启 ...

  3. java进阶(38)--线程安全

    文档目录: 一.概念 二.解决方案 三.举例说明 ---------------------------------------分割线:正文------------------------------ ...

  4. 软工案例分析作业-CSDN

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 提升软件开发能力与团队意识 这个作业在哪个具体方面帮助我实 ...

  5. [开源]制作docker镜像不依赖linux和Docker环境

    背景 最近群友们经常反馈docker镜像制作起来有点麻烦,我开源的antdeploy工具虽然可以制作镜像但是必须有一个提前:有一台安装好docker的linux服务器.因为大家开发环境基本上都是win ...

  6. MySQL8开启ssl加密

    1 概述 MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl: 另外,ssl加密需要密钥与证书,可以使用openssl手 ...

  7. 一次使用IDEA中HTTP Client的经历

    1 开端 HTTP Client是IDEA中自带的一个插件,用于代替原来的REST Client,打开Tools->HTTP Client->Test RESTful Web Servic ...

  8. (数据科学学习手札118)Python+Dash快速web应用开发——特殊部件篇

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  9. SpringIOC框架简单实现(注解实现)

    SpringIOC框架简单实现(注解实现) 前情回顾 SpringIOE简单介绍 运用注解的方式来实现IOC 首先,让我们来创建一个Dog类 @Component("dog")// ...

  10. Windows中的共享文件和文件服务器

    目录 共享文件的设置 默认共享 关闭默认共享 关闭共享服务 共享文件夹权限 文件服务器资源管理器的搭建 文件共享是指主动地在网络上共享自己的计算机文件.一般文件共享使用P2P模式,文件本身存在用户本人 ...