Jenkins 基础篇 - 基础设置
站点设置
刚搭建好 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 基础篇 - 基础设置的更多相关文章
- 2-STM32+W5500+GPRS物联网开发基础篇-基础篇学习的内容
https://www.cnblogs.com/yangfengwu/p/10936553.html 这次的基础篇为公开篇,将公开所有基础篇的资料和源码 现在说一下基础篇准备公开的内容:(大部分哈,要 ...
- Jenkins: 基础篇(环境配置)
自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...
- 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(基础篇)
背景 最近因为要做一个新的管理后台项目,新公司大部分是用vue写的,技术栈这块也是想切到react上面来,所以,这次从0到1重新搭建一个react项目架子,需要考虑的东西的很多,包括目录结构.代码 ...
- Maven——基础篇
Maven--基础篇 Maven出现前的问题 一个项目就是一个工程,而工程内一般是通过package包来分模块,比较用户模块,订单模块等,如果项目过于庞大,通过包模块来划分就不太合适,而应该拆分为模块 ...
- C#多线程之基础篇3
在上一篇C#多线程之基础篇2中,我们主要讲述了确定线程的状态.线程优先级.前台线程和后台线程以及向线程传递参数的知识,在这一篇中我们将讲述如何使用C#的lock关键字锁定线程.使用Monitor锁定线 ...
- 2000条你应知的WPF小姿势 基础篇<15-21>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...
- C#多线程之基础篇2
在上一篇C#多线程之基础篇1中,我们主要讲述了如何创建线程.中止线程.线程等待以及终止线程的相关知识,在本篇中我们继续讲述有关线程的一些知识. 五.确定线程的状态 在这一节中,我们将讲述如何查看一个线 ...
- 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器
× 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...
- iOS系列 基础篇 03 探究应用生命周期
iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...
随机推荐
- 攻防世界 reverse 进阶 notsequence
notsequence RCTF-2015 关键就是两个check函数 1 signed int __cdecl check1_80486CD(int a1[]) 2 { 3 signed int ...
- certutil绕过
一般进内网过后我都会使用certutil下载文件,但在最近打一台内网机子的时候出现了certutil拒绝访问的情况,在本地搭建了一个环境尝试绕过certutil下载文件. 安装杀软更新到最新版本,开启 ...
- java进阶(38)--线程安全
文档目录: 一.概念 二.解决方案 三.举例说明 ---------------------------------------分割线:正文------------------------------ ...
- 软工案例分析作业-CSDN
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 提升软件开发能力与团队意识 这个作业在哪个具体方面帮助我实 ...
- [开源]制作docker镜像不依赖linux和Docker环境
背景 最近群友们经常反馈docker镜像制作起来有点麻烦,我开源的antdeploy工具虽然可以制作镜像但是必须有一个提前:有一台安装好docker的linux服务器.因为大家开发环境基本上都是win ...
- MySQL8开启ssl加密
1 概述 MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl: 另外,ssl加密需要密钥与证书,可以使用openssl手 ...
- 一次使用IDEA中HTTP Client的经历
1 开端 HTTP Client是IDEA中自带的一个插件,用于代替原来的REST Client,打开Tools->HTTP Client->Test RESTful Web Servic ...
- (数据科学学习手札118)Python+Dash快速web应用开发——特殊部件篇
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...
- SpringIOC框架简单实现(注解实现)
SpringIOC框架简单实现(注解实现) 前情回顾 SpringIOE简单介绍 运用注解的方式来实现IOC 首先,让我们来创建一个Dog类 @Component("dog")// ...
- Windows中的共享文件和文件服务器
目录 共享文件的设置 默认共享 关闭默认共享 关闭共享服务 共享文件夹权限 文件服务器资源管理器的搭建 文件共享是指主动地在网络上共享自己的计算机文件.一般文件共享使用P2P模式,文件本身存在用户本人 ...