Jenkins 安装部署入门

Jenkins入门

简介

Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

部署安装

部署

Jenkins的部署环境根据公司团队的需求和项目实际情况,可以部署在公有云、私有云、甚至自己的办公机上。学习的同学可以选择虚拟机作为部署环境,在实际应用场景中,务必注意数据安全。

安装

Jenkins 支持多平台,包括Windows、Linux、MacOS、甚至像一些非主流的操作系统 OmniOS、Solaris 等都可以安装运行 Jenkins。

Jenkins 的安装方式多种多样,安装方式可分为 Docker 镜像安装,源码安装、安装包安装。

(推荐)采用基于 Docker 安装的方式是最简便的方式,通过 docker pull jenkinsci/jenkinsci的方式即可安装,此中安装方式比较实用与团队主要开发语言是 Pyhon、Js 这类的,并且与服务器环境依赖不多的情况。若团队的 CI\CD 时需要较多环境变量、程序依赖时,Docker 安装方式在后期创建 Jenkins 任务时,可能会有一些繁琐。

基于源码安装,也不复杂,团队希望使用 Jenkins 开源团队提交的最新 Jenkis 代码,或希望对 Jenkins 代码加以修改时,使用源码安装能够满足需求。

我这里采用的是使用安装包安装的方式,在 Jenkins 的网站上可以下载到面向不同操作系统打包好的安装包,直接下载即可。我们的服务器其实是阿里云上的云主机,运行的 Ubuntu 系统,那么这里我们下载适用的安装包,如下:同学们可根据安装平台不同选择合适的安装包。

选择 Ubuntu 系统的安装包

在这里插入图片描述

Java环境

Java 是 Jenkins 运行的必须环境,在 Linux 上安装 Java 比较容易,不会的同学可以参考本人博客:

如何确定是否已安装好Java:

root@nefusmzjserver:~# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

安装好 Java 后,若不执行如下步骤,可能在运行 Jenkins 报告这样一个错误:

”/usr/bin/java No such file or directory“

可以提前创建好软连接来解决这个问题:

root@nefusmzjserver:~# ln -s /usr/local/jdk1.8.0_231/bin/java /usr/bin/java

也可以再安装完Jenkins 后,创建软连接或者修改Jenkins 配置文件来解决。

安装依赖项

Jenkins 运行需要 Daemon,那么 Daemon 是什么呢?Daemon 实际上是 Linux 上的一种守护进程机制,分析 Jeknins 也是希望自身能够被守护,防止意外退出的原因吧。

安装 Daemon

root@nefusmzjserver:~# apt-get install daemon
安装 Jenkins
root@nefusmzjserver:~# dpkg -i jenkins_2.190.3_all.deb

安装这个软件包将会:

  • 将 Jenkins 设置为启动时启动的守护进程(这就是需要先安装 Daemon 的原因)

  • 创建一个 Jenkins用户和组,来运行此服务

  • 自身控制台日志输出到文件/var/log/jenkins/jenkins.log。如果您正在解决 Jenkins 问题,请检查此文件

  • /etc/default/jenkins为启动填充配置参数,例如 JENKINS_HOME, HTTP_PORT 等

  • 将 Jenkins 设置为在端口 8080 上进行监听。使用浏览器访问此端口以开始配置

查看 Jenkins 启动情况

root@nefusmzjserver:~# systemctl status jenkins.service

在这里插入图片描述

如果 Active: active 表示 Jenkins 启动成功,可以使用浏览器进行访问了,请求地址是:http://localhost:8080

如果 Active: 状态不是 active,则表示启动失败,需要根据错误提示进行相应调整

常见的错误分为如下几种:

  1. 没有安装守护进程程序 Daemon,解决:安装 Daemon 程序
  2. 找不到 Java 可执行程序路径,解决:配置软连接,指向 /usr/bin。
  3. HTTP_PORT 端口占用,解决:修改 Jenkins 端口,或解除其他程序对 8080 端口的占用
  4. JENKINS_HOME 权限问题,解决:调整 Jenkins_HOME 指向目录的属组和所属用户

那么出现上述 4 种问题应该如何解决,请继续学习下文“配置文件”

配置文件

Jenkins 配置文件主要有两个与使用者关系密切

  • Jenkins 服务启动脚本:/etc/init.d/jenkins
  • Jenkins 服务参数:/etc/default/jenkins
Jenkins Web服务端口

Web 服务端口是 Jenkins 的 Web 服务监听的端口,即访问地址时需要指定的,默认值为 8080。

端口配置位于 /etc/default/Jenkins 配置文件中,可以根据自身需要进行修改。

HTTP_PORT=8080

通过本项配置能够解决上一节的问题 3。

Jenkins 工作目录

工作目录是 Jenkins 的配置、插件,包括后续 CI/CD 的工作任务存放的目录,默认值为 /var/lib/jenkins。

工作目录配置位于 /etc/default/jenkins 配置文件中,可以根据自身需要进行修改。

JENKINS_HOME=/var/lib/$NAME

注意,这个目录不是直接修改指定到某个路径就可以的,需要确保用户 jenkins 有权限访问得到,有一个办法是修改指向目录的属组和用户,即使用 chgrp 和 chown 命令。

通过本项配置能够解决上一节的问题 4。

设置向导

通过浏览器访问 Jenkins 服务,注意访问的地址根据自身 IP 进行调整,本机的话可以使用 localhost。

http://localhost:8080

http://47.98.xx.xx:8080

通过 web 访问 Jenkins

通过浏览器访问 Jenkins 页面,页面大概耗费 5s 左右进行初始化,然后出现如下页面:

在这里插入图片描述

这里需要输入初始管理员密码,按照页面提示,该密码位于/var/lib/jenkins/secrets/initialAdminPassword文件中。

通过 cat 命令查看

root@nefusmzjserver:~# cat /var/lib/jenkins/secrets/initialAdminPassword
3fd789c996b6c96d453257f73a

将上述密码复制到页面地址栏,点击 ‘继续/Contiune’。

选择插件安装方式

进入插件向导页面,对 Jenkins 不熟的同学建议“安装推荐的插件”,这样 Jenkins 会根据社区推荐的插件,逐一安装,基本上可以满足大多数使用场景。

熟悉的同学可以根据自身需求“选择插件来安装”,这样也能避免安装一些不常用的插件占用空间。

在这里插入图片描述

这里我们选择前者“安装推荐的插件”,会进入下面的页面。

插件安装进程

这个过程中,Jenkins 会自动安装这些插件,这些插件也将成为后续使用 Jenkins 过程中十分重要的。此过程较慢,需要耐心等待。

在这里插入图片描述

全部完成出现对勾后,右下角会出现“继续”按钮,页面会进入下一步。中间出现插件安装失败的同学不要着急,Jenkins 会在页面其它插件安装完毕后,给用户提供重试的机会。

创建第一个管理员用户:

下图页面信息均为必填项

在这里插入图片描述

点击右下角“保存并完成”

提示 Jenkins 访问地址

在这里插入图片描述

开始使用 Jenkins

在这里插入图片描述

点击“开始使用Jenkins”,Jenkins 的页面正式出现

在这里插入图片描述

发现左侧菜单栏中仍有部分选项为英文,例如 “Manage Jenkins”,在插件向导中我们已经安装了 “Localization Chinese” 的插件了,为什么语言没有完全转变呢?可以在后台重启 Jenkins 服务解决:systemctl restart jenkins.service,然后再刷新网页,看看是不是都是中文了?“Lockable Resources”还是英文,我们可以忽略,我分析原因是中文插件中并没有翻译此项菜单。

在这里插入图片描述

到此,同学们可以正式开始使用 Jenkins 开始 CI/CD 之旅了。

下一节,我们来开始 Jenkins 的处女作,Jenkins 之 HelloWorld。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值