站点设置

刚搭建好 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. od快捷键

    视图.查看相关: Alt+l  记录 Alt+e 可执行模块 Alt+m 内存 Alt+c cpu(反汇编视图) Ctrl+p 补丁 Alt+k 调用堆栈 Alt+b 断点 Alt+f5 设置窗口总在 ...

  2. 一种3位sar adc工作过程推导(二)

    3位sar adc采用下图的电容阵列,需要23个电容,它的基本单元有二进制加权的电容阵列.1个与LSB电容等值的电容:它利用电容上的初始电荷再分配完成二进制搜索算法,因此功耗一般比较小,而且不需要额外 ...

  3. 前端er必须知道的Git地址及常用工具地址

    商城篇(找工作必练) 开源商城 推荐指数:5星,掌握了它,可以说,今后工作中的各种需求都不是问题,工作1~2年的也可以学习其中的思路(建议收藏). 这是一个集小程序/公众号/app为一体的商城系统,包 ...

  4. 问题笔记 - element表格 操作状态值

    1.必须从传到表里的数据源中取值(scope.row.star)

  5. Chapter 2 简单DC-DC变换器稳态分析小结

    Chapter 2 简单DC-DC变换器稳态分析小结 1 本章重点 1.1 小纹波近似 所谓小纹波近似就是DC-DC变换器的稳态分析中,假定开关频率次的纹波相对于直流分量而言非常小,可以将其忽略进行各 ...

  6. 201871010110-李华 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 (1)理解并掌握代码风格及设计规范:(2)通过任务3进行协作开发,尝试进行代码复审,在进行同伴复审的过程中体会结对 ...

  7. 墙裂推荐:这可能是CAP理论的最好现实解释

    这篇文章蓝本:http://ksat.me/a-plain-english-introduction-to-cap-theorem 经过小码甲意译.原创配图, 干到让你怀孕. 你可能经常听到CAP定理 ...

  8. 承接上一篇,whale系统开篇,聊聊用户认证

    写在前面 上次老猫和大家说过想要开发一个系统,从简单的权限开始做起,有的网友表示还是挺支持的,但是有的网友嗤之以鼻,认为太简单了,不过也没事,简单归简单,主要的还是个人技术的一个整合和实战. 没错,系 ...

  9. Linux执行.sh文件,提示No such file or directory的问题

    问题描述 在window平台下,写好shell脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示NO such file or directory 解决方案 难道是文件格式兼容性问 ...

  10. 在Visual Studio 中使用git——使用git管理源代码(三)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二)   第三部分:使用git管理源代码 ...