系列学习 Jenkins 之第 1 篇 —— 认识 Jenkins,CentOS7 下安装 Jenkins,解决 Jenkins 安装插件慢的问题

 

什么是 Jenkins?

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

中文网站:https://www.jenkins.io/zh/

文档手册:https://www.jenkins.io/zh/doc/

 

CI & CD 又是什么?

CI:Continuous Integration,持续集成。在CI环境中,开发人员将会频繁地向主干提交代码。这些新提交的代码在最终合并到主干前,需要经过编译和自动化测试流进行验证。通过自动化测试可以提早拿到回归测试的结果,避免将一些问题提交到交付生产中。

CD:Continuous Deployment,持续部署。在CD环境中,通过自动化的构建、测试和部署循环来快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,任何修改通过了所有已有的工作流就会直接和客户见面。持续部署是一个很优秀的方式,可以加速与客户的反馈循环,但是会给团队带来压力,因为不再有“发布日”了。开发人员可以专注于构建软件,他们看到他们的修改在他们完成工作后几分钟就上线了。

另外还有一个 CD:Continuous delivery,持续交付。它可以让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。它的目标在于让软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

现在很多公司都有做持续集成,Jenkins就是一个持续集成的工具,开源的,基于 JAVA语言的。

 

Jenkins 持续交付工作流程

  1. 开发者向 GitLab 或者 Gitee 或者 GitHub 提交代码。
  2. GitLab 使用 WebHook 通知 Jenkins 有代码更新。
  3. Jenkins 从节点拉取代码,并打包生成镜像。
  4. Jenkins 在从节点上使用生成的镜像运行测试用例。
  5. 如果测试通过,将镜像推送到镜像仓库中。
  6. Jenkins 在应用服务器上更新部署。
  7. Jenkins 将构建过程的报告以邮件的方式通知相关人员。

从开发人员向代码库提交代码之后,整个流程都是自动进行的。如果中间哪个环节出现错误,将会中止流程的执行,并将结果通知相关人员。提交的代码不但要包括应用程序,还应该包括构建镜像的脚本、测试用例的脚本和部署的编排脚本等。

其中,各个步骤的操作可以使用插件或直接在命令行中使用各种工具来完成。
例如,拉取项目代码将会用到 Git 插件,项目的打包将使用 Maven 工具来实现,生成镜像和应用部署将直接通过命令行来使用 Docker-compose 工具,而集成测试也将通过命令行来执行由 Selenium、JMeter 等工具生成的脚本。

 

CentOS7 下安装 Jenkins

1、安装 JDK 环境

因为 Jenkins 是使用 Java 开发的,因此需要 JDK 运行环境。

查看安装 JDK 1.8 教程的博客:https://blog.csdn.net/BiandanLoveyou/article/details/117949441

 

2、CentOS7 安装 Jenkins

先下载 Linux版本,打开链接:https://www.jenkins.io/download/

进入 src 目录,创建 Jenkins 专属目录:/usr/local/src/jenkins

[root@localhost src]# mkdir jenkins

推荐使用清华大学的开源软件镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

进入 jenkins 目录,下载2.241-1.1 的。太新的版本出问题网上很难查到方案解决。

yum -y install https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.241-1.1.noarch.rpm

下载完毕,并主动帮我们安装了:

安装完毕,我们先不启动,需要修改一下默认的配置。

 

启动 Jenkins 前修改配置

1、修改端口号

Jenkins 默认使用 8080 端口号启动,我们需要修改。不然很多人喜欢用 8080 ,导致端口号冲突。

Jenkins 自动安装后,默认的配置文件在:/etc/sysconfig/jenkins

vi /etc/sysconfig/jenkins 

我们改为:8088

 

2、修改用户

Jenkins 默认以 jenkins 用户运行,在 Linux 环境中,容易导致一些权限问题,所以要改成以 root 用户运行,因此修改:JENKINS_USER=“root”

3、确认 Java 环境

打开文件 vi /etc/rc.d/init.d/jenkins ,搜索并确认 candidates 中是否包括了你的 JDK 路径(默认是不包含的,需要手动添加)

我们手动添加到末尾:注意啊,要添加到 bin/java 这一层。

/usr/local/src/jdk/jdk8/bin/java

最终配置:

candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java/jdk8/bin/java
/usr/local/src/jdk/jdk8/bin/java
"

效果图:

 

如果不添加,启动报错,如下:其实 Jenkins 会默认找到 /usr/bin/java 这一目录,但是还不全,需要我们配置才行的。)

Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

或者报错:

Starting Jenkins bash: /usr/bin/java: 是一个目录

根据错误提示输入:systemctl status jenkins.service

 

或者,创建一个软链接:

ln -s /usr/local/src/jdk/jdk8/bin/java /usr/bin/java

修改后,需要:systemctl daemon-reload,然后启动 Jenkins:systemctl start jenkins

 

3、启动 Jenkins,并解决 Jenkins 安装插件慢的问题

1、启动 Jenkins:

service jenkins start

或者 

systemctl start jenkins

 

查看 Jenkins 状态:

service jenkins status

效果图:

 

设置 Jenkins 开机启动:

systemctl enable jenkins

 

停止 Jenkins 的命令:

service jenkins stop

开启的状态下,外部电脑浏览器访问:http://192.168.0.105:8088/   (根据自己的虚拟机 IP 修改地址)

说明 Jenkins 启动成功!

 

2、解决 Jenkins 安装插件慢的问题

我们待会要启动 Jenkins 并安装一些插件,但是 Jenkins 默认访问的是谷歌 Google。因此需要修改 default.json 文件。

下面的命令是进入到 var/lib/jenkins/updates 目录并列出目录下的所有文档:

[root@localhost ~]# cd /var/lib/jenkins/updates;ls
default.json  hudson.tasks.Maven.MavenInstaller

可以看到在 jenkins/updates 目录有 default.json 和 hudson.tasks.Maven.MavenInstaller ,修改 default.json 文档,分别执行下面两句命令:

将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,使用清华大学的开源软件镜像站下载。
将 www.google.com 替换为 www.baidu.com。

sed -i 's/www.google.com/www.baidu.com/g' default.json
sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

然后重启 Jenkins:

service jenkins restart

这样,就为 Jenkins 配置了高速的访问速度了,解决了 Jenkins 安装插件慢的问题。

 

4、在 Jenkins 上安装插件

第一次使用 Jenkins 需要密码,可以看到红色的地址,在 CentOS 下使用 cat 查看密码:

[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword

把密码输入。进入第二个页面。安装推荐的插件即可。

配置了清华大学的开源软件镜像站和百度之后,明显比没有配置的快 N 倍。

 

如果有部分插件安装失败,重试或者继续都可以。我选择了重试。

 

安装完毕后,自动进入创建管理员的页面:

 

 

就这样,Jenkins 就安装好了。

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值