(非docker容器)手把手教你如何从头在 Linux 上搭建 Jenkins 并构建 GitHub 项目全过程


这里有 docker 版的过程
搭建前的声明:

1.本人使用的 CentOS 6.6,默认是装有 git 1.7.1,但是决定使用自己安装的 git(强烈建议使用 7 和以上的 CentOS 系统,因为更低版本在 jenkins 搭建时候有各种问题!

2.本人使用的是 Maven 3.5.2,路径是 /usr/share/apache-maven

3.本人使用的是 Git 2.2.1,路径是 /usr/lib/git/bin

4.本人使用的是 JDK 1.8,路径是 /usr/lib/jvm/java-openjdk

5.本人通过 yum 命令安装的 Jenkins,Jenkins 的 war 包在 /usr/lib/jenkins 中,然后在 Jenkins 中从GitHub 拉取项目拉到本地 /var/lib/jenkins/workplace 中,其中以 Jenkins 中创建的 job 为文件夹名,再下级就是 GitHub 中的项目了。本人使用的 Jenkins 配置了超管的用户名和密码都是 admin,然后新建了一个自己的用户账户,通过修改配置文件的方式将端口从 8080 设置为了 8081,这是为了防止和 tomcat 端口冲突。使用的都是手动安装的 Maven,Git,JDK 工具

linux 搭建 jenkins 步骤

一.Linux 中安装配置 JDK

如何设置 JAVA_HOME 环境变量

查看 JDK 安装路径

一.安装 JDK

安装 jdk 前先检查 linux 中是否已经安装了 jdk,建议安装版本 jdk 1.8

  • 先查看 linux 是否已经安装了 jdk,通过 which java 和 whereis java 来看 jdk 的安装路径,通过 java 命令也可以查看 jdk 信息

  • 先在linux搜索有哪些合适的 jdk 版本

    yum search java|grep jdk

  • 然后进入权限,输入密码

    su

  • 安装合适需要的版本,一般安装 jdk 1.8 即可

    yum install 合适的版本名称

二.配置 JAVA 环境变量

安装好 JDK 后,在命令控制台输入 java -version 是可以看到安装的 java 版本信息的,但是 echo $JAVA_HOME 是没有的,下面步骤是如何配置 java 环境变量

  • 先进入 root 权限,输入密码

    su

  • 查找 jdk 路径

    find / -name jre

  • 为让所有用户的 shell 都有全是用此环境变量,先打开配置文件

    vi /etc/profile

  • 修改配置文件,增加环境变量

    先滑动到最下方,按 insert,新起一行输入下方文本

    export JAVA_HOME=/usr/lib/jvm/java-openjdk

    export PATH=$JAVA_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    注意下,这个 java-openjdk 是我自己的 java 的路径,其中有 bin 以及 jre

    然后按下 esc 或者 ctrl + c 来退出 insert 功能

    按下 shift + : 再来输入 wq 表示保存退出,其中 !q 表示不保存退出

  • 让配置文件生效

    配置文件修改好之后不会立即生效,可以选择重启 linux 或者更简单的用 source 命令

    source /etc/profile

    可能存在无法识别 source 命令的情况,这时就去执行

    locate source /etc/profile

  • 查看 java 环境变量是否设置好了

    echo $JAVA_HOME

    若有显示 JAVA_HOME 的路径,则成功,配置好 java 环境变量之后还可以通过如下命令来查看 java 路径

    java -verbose

    最后几行显示的就是 jdk 路径了

二.Linux 中安装 Maven

一.安装 Maven

Linux 如何安装 Maven

请依据构建的项目安装合适版本的 maven,可以先先检查 linux 中是否已经过装好了 maven 工具,若没有再进行安装。下面安装的是 maven 3.5.2 这个版本,这个版本的 jdk 依赖是 1.7 的,也就是说此 maven 要求使用 jdk 是 1.7 及 1.7 以上的

  • 先检查 maven 是否安装,类似 jdk 的命令,有 which 或 whereis 命令,或者mvn -version 来查看

  • 进入 root 权限输入密码

    su

  • 用 wget 命令从网络中下载,支持协议 http/https/ftp

    wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

  • 用 sed 更改命令(咱不知道此处作用)

    sed -i s/$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

  • yum 的安装命令

    yum install -y maven

安装好之后,mvn -v 命令可以正常识别,并且安装好后会又安装一个 JDK,此版本的 Maven 安装的 JDK 是 1.7 的版本,然后我再用 echo $MAVEN_HOME 来查看环境变量的配置情况是显示路径 /usr/share/apache-maven,一切成功

二.Maven 相关配置

注意了,我们在使用这个 Maven 去构建 Jenkins 项目时候发现实际上用的还是安装 Maven 附带安装的以个 JDK,及时你已经设置 PATH 中的 JAVA_HOME 也无济于事,但是这个 MAVEN 所支持的 JDK 版本是附带安装的这个 JDK 以上的版本,下面就是自己设置一下让 Maven 默认的 JDK 指向自己手动安装的 JDK 版本而不是 Maven 附带安装的这个 JDK

  • 先查看版本

    java -version

    可以看到本机 jdk 版本为 1.8.0_181

    maven -version

    可以看到本机 maven 版本为 3.5.2,同时显示 maven 附带安装的 JDK

  • 设置 maven 的 settings.xml 文件

    依据大家安装的 maven 的路径不同,此 settings.xml 配置文件也不同,我的 MAVEN_HOME 是 /usr/share/apache-maven,我的 maven 的 settings 文件路径是 /usr/share/apache-maven/conf,其中可以修改 jdk 版本之类和 mirrors 镜像地址等配置

三.Linux 中安装 Git

Linux 如何安装 Git

Git 安装与 Jenkins 配置 Git(此文中有不少错误,请酌情使用)

下面来讲解一下 git 的安装以及配置环境变量的步骤

一.安装 Git

  • 先使用 git --version 检查是否已经装了 git

    一般 CentOS 应该会自动带有 1.7.1 版本的 git,默认在 /usr/share/git-core,但是要注意了 GitHub 需要的 git 最低版本不低于 1.7.2,这就很尴尬了,

  • 进入 root 权限然后输入密码

    su

  • 再安装所需要的软件包

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc

    yum install gcc perl-ExtUtils-MakeMaker

    虽然我也不知道安装这个有什么用

  • cd 进入指定目录准备安装 git 压缩包

    我这里选择的是进入 /usr/lib 路径下安装,因为 wget 命令是在当前路径下进行安装

    cd /usr/lib

  • 安装 v 2.2.1.tar.gz 的 git 压缩包

    wget https://github.com/git/git/archive/v2.2.1.tar.gz

  • 解压压缩包

    tar zxvf v2.2.1.tar.gz

  • 然后进入 git-2.2.1 目录下进行 make prefix

    cd git-2.2.1

    make prefix=/usr/lib/git all

    make prefix=/usr/lib/git install

二.配置 Git 环境变量

  • 配置 git 环境变量

    linux 系统一般把 /usr/local/bin 放在了 $PATH 环境变量中,这里 git 是安装在 /usr/lib 下,自然没法识别 git 命令,可以通过 cd 进入到 /usr/lib/git/bin 中再输入 git 命令就可以识别了。这里可以打开 /etc/profile 来配置一下环境变量

    vi /etc/profile

    先滑动到最下面,按下 insert 按钮,然后在最末尾加上一行

    export PATH=$PATH:/usr/lib/git/bin

    然后按下 esc,再按下 shift + :,再按下 wq 表示保存退出文件,若是 q! 表示不保存退出

  • 让配置的环境变量生效

    cd 先切换到初始路径下,然后为了想看到配置中的环境变量立即生效,可以使用

    locate source /etc/profile

    或者 reboot 一下 linux 系统亦是可行的

  • 查看 git 是否安装以及配置成功

    现在可以输入 git --version 来查看 git 命令是否可以识别了

四.Linux 中 Jenkins 的搭建与配置

Linux 下 Jenkins 安装及配置

额外篇:Linux 的 jenkins 集成 git & gradle 持续构建 SpringBoot 项目

jenkins 添加配置 maven 项目以及添加 svn

一.Jenkins 安装

centOS 安装 Jenkins

Linux 如何安装 Jenkins

  • 进入 root 权限,输入密码

    su

  • wget 命令从网络中下载 Jenkins

    wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

  • yum 的 repos 中默认是没有 Jenkins 的,需要先将 Jenkins 存储库添加到 yum repos

    rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

  • 安装 jenkins

    yum install jenkins

  • 明确需要配置 jenkins 启动用户和端口号

    因为 jenkins 默认下是用 jenkins 用户启动的,此用户没有赋予权限,可以将启动用户改为 root,jenkins 的默认端口是 8080,这个跟 tomcat 的默认端口实际上是冲突的,我们最好也修改一下默认端口

  • 用 linux 命令打开 jenkins 的配置文件,然后修改 jenkins_user 参数为 root 和 jenkins_port 参数为8081 即可

    vi /etc/sysconfig/jenkins

  • 启动 jenkins 服务,出现 [OK] 表示 jenkins 服务启动成功

    service jenkins start

  • linux 浏览器打开 jenkins

    在地址中输入 localhost:8081

  • 输入超级管理员 admin 密码

    此密码在 /var/lib/jenkins/secrets/initialAdminPassword 文件中

    通过 tail /var/lib/jenkins/secrets/initialAdminPassword 命令来找到密码

  • 进入了 jenkins 的新解锁页面来选择安装插件

    我这里傻瓜式选择是安装插件,也可以选择安装指定插件,等待几分钟

  • 进入 jenkins 的管理员账号注册页面

    进行 jenkins 用户账户的注册,我这里又直接傻瓜式选择了以 admin 登陆

  • 成功后自动登录并进入 jenkins 主页,以后登录的话输入 admin 以及前面的密码即可

二.Jenkins 设为中文

Jenkins 中文显示设置

Jenkins 中文显示排除浏览器干扰

Jenkins 默认显示的是英文,可以在 Jenkins 内安装插件的方式来将语言设为中文,下面是操作流程

  • 登录进 Jenkins 中

    一开始进去显示的应该是英文

  • 安装相关插件

    在首页中【系统管理】→【插件管理】的【Available】标签页中,搜索“Locale”字段,Available 中是未安装的插件,Installed 中是已安装的插件,Locale 插件是与 Jenkins 语言的配置相关。安装插件页面显示 pending,之后显示 success

  • 设置中文显示

    在首页中【系统管理】→【系统设置】中可以查看到 Locale Default Language 这样的一栏,其中输入 zh_CN,这就已经设置了中文,可以勾选忽略浏览器参数配置的 box 框,这是因为浏览器是英文的话,设置了 zh_CN 还会是英文

三.为 Jenkins 设置 JDK 以及 Maven 以及 Git

由于本人提前在 linux 安装好了 JDK 以及 Maven,所以可以不用选择在线安装,直接引入到本地的文件中

  • Jenkins 中 JDK 的配置

    进入首页中【系统管理】→【全局工具配置】找到 JDK 字段,然后点击 JDK Installations… 来添加 JDK,我这里取消了自动安装的勾选,选择使用本地 jdk1.8.0_181 这个 jdk,在终端中通过 java -version 来查看 jdk 的版本,然后再用 echo $JAVA_HOME 来查看 java 环境变量的路径,之后在 Jenkins 中输入 Name 以及相应的 JAVA_HOME 路径即可,若只修改了 JDK 在 Jenkins 中的配置,注意保存一下

  • Jenkins 中 Maven 的配置

    同样也是在系统管理的全局工具配置中,找到 Maven 字段,点击 Maven Installations… 来添加 Maven,这里同样取消自动安装的勾选,选择本地使用的 Maven 3.5.2 这个 Maven,在终端中通过 mvn -v 来查看 Maven 版本,通过 echo $MAVEN_HOME 来查看 Maven 的环境变量的路径,之后在 Jenkins 中输入 Name 以及相应的 MAVEN_HOME 路径即可,若只修改了 MAVEN 在 Jenkins 中的配置,注意保存一下

  • Jenkins 中 Git 的配置

    同样也是在系统管理的全局工具配置中,找到 Git 字段,点击 Git Installations… 来添加 Git,这里同样取消自动安装的勾选,选择本地使用 Git 2.2.1 这个 Git,在终端通过 echo $PATH 来找到

四.Jenkins 拉取 GitHub 项目进行构建

  1. 创建一个任务

    点击 new 任务,然后输入相应的 Enter an item name,构建一个自由风格的软件项目

  2. 对 Jenkins 中 Job 的配置拉取 GitHub 项目

    • General

      这里主要是在 Description 中添加描述,同时我这里选择了丢弃旧的构建,并且设置了构建保存天数 1 天,保持构建的最大个数和发布包保留的天数以及发布包最大保留构建数都为 3,因为不丢弃旧的构建的话,每次 Jenkins 构建后,都会对该构建的项目产生一个历史构建记录以及项目发布包,若不及时丢弃的话,会导致磁盘越来越满。参数化构建可能也用的比较多

    • Source Code Management

      这里是配置资源代码管理,我选择的是 GitHub,不少公司的资源是引用的 GitLab,因为 GitHub 是开源的,GitLab 私有仓比较容易建立。填写 Repository URL 为 GitHub 上的项目链接路径,Credentials 为 GitHub 的登陆用户名和密码。***注意了,这里没必要再去 Advance 添加 Name 和 Refspec,之前因为写了这两个参数,然后在构建项目的时候,显示 Error fetching…,找了比较久才发现是这个问题***

    • Build Triggers

      这里是构建触发器,我勾选了轮询 SCM,Schedule 具体该如何写再另一篇博文中有介绍

    • Build Environment

      这里是构建环境,勾选了 Abort the build if it’s stuck 选项,勾选了 Add timestamp to the Console Output

    • Build

      这里是构建,选择 shell 和 maven 的比较多,这里选择了 maven,之后在 Maven Version 中写上自己 Jenkins 中配置的 Maven 版本号为 maven 3.5.2,然后在 Goals 中写上 mvn 后的命令为 clean install,表示先清理再初始化。***注意了,有的人可能在 GitHub 中的 pom.xml 文件不是直接放在直接仓库中,可能是下一级子目录,这时候可以使用 mvn -f 目录名 clean install 来先进入子目录再进行 clean 和 install 操作***

    • Post-build Action

      这里是构建后的事件操作,有 E-mail 发送等功能,Jenkins 中的邮件配置可参见这篇博文:Jenkins 邮件发送配置,这篇博文中要注意一下,这个密码可不是邮箱的密码,是 smtp 的验证密码。主要是先安装 Email Extension Plugin 插件,在系统设置中会出现 Extended E-mail Notification,其中 SMTP server 写的是 smtp.qq.com,Default user E-mail suffix 写的是 @qq.com,勾选 Use SMTP Authentication 填写发送者的邮箱以及 SMTP 验证的密码(你的邮箱需要先开启 SMTP 功能),勾选 Use SSL,SMTP port 为 465,然后下方还可以编辑模板,Default Recipients 写接收人邮箱。配置里还有个 E-mail Notification 这里是 Jenkins 自己的邮件配置配置也大同小异,而且勾选了 Test configuration by sending test e-mail 然后填写收件人邮箱可以进行 Jenkins 自带邮件配置功能来发送邮件进行测试

  3. 构建项目

    配置好之后可以正常构建项目了,可以看到指定 Job 的控制台信息,Cloning…,Fetching…,Checking out Revision…,显示 GitHub 中的 Commit 信息,First time build…,最后显示 Email was triggered for: …,Sending email for trigger: …,Sending email to: …,Finished: SUCCESS

这里有 docker 版的过程

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abcnull

您的打赏是我创作的动力之一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值