Jenkins 国内源

https://dl.bintray.com/jenkins-zh/generic/jenkins/

前言

Jenkins作为CI&CD工具不管在研发领域还是在测试领域,都有着重要作用,可以将开发的代码自动部署到测试环境,也可以自动运行我们编写的自动化代码。

Jenkins可以在Windows系统,Mac,Linux系统搭建,而企业内部服务器多以Linux为主。所以下面主要演示如何在CentOS7.6操作系统上部署Jenkins。

关于CI&CD: https://www.redhat.com/zh/topics/devops/what-is-ci-cd
Jenkins 官方网站:https://jenkins.io/

前提条件

  • 系统: CentOS7.6 <操作系统可以安装在虚拟机里,也可以购买云服务器>,为了更方便演示,我使用的是腾讯云服务器。

image.png

  • jdk:1.8版本 Jenkins为纯Java开发的应用,需要java环境。

下载jdk https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
image.png
选择Linux x64 rpm包。下载完成后将rpm文件上传到Linux服务器上执行命令安装。

  1. rpm -ivh jdk-8u181-linux-x64.rpm

操作步骤

1.安装Jenkins

下载Jenkins
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/ 找到最新的安装包,下载到服务器。
image.png

  1. wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.222.3-1.1.noarch.rpm

安装Jenkins

  1. yum install jenkins-2.222.3-1.1.noarch.rpm

image.png
启动Jenkins

  1. systemctl start jenkins

2.打开浏览器,地址栏输入 http://IP:8080 (ip为你自己的服务器地址)

image.png

3.查看Jenkins日志中的内容,将密码输入网页中。

使用cat 命令查看密码。
image.png

4.选择推荐的插件进行安装

image.png
等待一段时间安装完成
image.png
安装过程需要一段时间,请净心等待。⌛️

5.创建一个新用户

插件安装完成后,提示创建管理员账号。
image.png
image.png

6.登录用户

image.png

常见问题

1. 启动Jenkins报错

安装完成Jenkins之后,启动Jenkins服务报错,报错信息如下:

  1. [root@iZ0ecn7ueg5v6wZ ~]# systemctl start jenkins.service
  2. Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

如下错误信息

root@iZ0ecn7ueg5v6wZ ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2020-04-28 13:24:08 CST; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1910 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)

Apr 28 13:24:08 iZ0ecn7ueg5v6wZ systemd[1]: Starting LSB: Jenkins Automation Server...
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ runuser[1915]: pam_unix(runuser:session): session open...0)
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ jenkins[1910]: Starting Jenkins bash: /usr/bin/java: N...ry
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ runuser[1915]: pam_unix(runuser:session): session clos...ns
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ jenkins[1910]: [FAILED]
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ systemd[1]: jenkins.service: control process exited, c...=1
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ systemd[1]: Failed to start LSB: Jenkins Automation Server.
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ systemd[1]: Unit jenkins.service entered failed state.
Apr 28 13:24:08 iZ0ecn7ueg5v6wZ systemd[1]: jenkins.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

根据错误 提示 文件配置错误
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)

解决方法: 修改 /etc/rc.d/init.d/jenkins 文件,添加java执行路径。

vi /etc/rc.d/init.d/jenkins

找到java路径配置,添加自己java的可执行路径。

image.png
注意 jdk1.8.0_251 251为小版本,可能有所不一样,
命令行中执行

which java

查看java具体路径。

2.下载插件速度过慢如何解决

因为默认从国外服务器上进行下载安装插件的。可以通过更改服务器地址进行下载。

打开 /var/lib/jenkins/updates
将此路径下的 default.json 文件中路径进行修改

[http://www.google.com](http://www.google.com) 改为 [http://www.baidu.com](http://www.baidu.com/)
image.png
将文件中 updates.jenkins.io/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins
保存文件。
重新启动Jenkins。

systemctl stop jenkins

systemctl start jenkins

或者直接下载已经修改好的文件替换即可。
default.json