栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

安装jenkins 初入CI/CD

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安装jenkins 初入CI/CD

安装jenkins 初入CI/CD: jenkins官方文档:https://www.jenkins.io/zh/doc/
什么是CI/CD: 1): CI 全称:Continuous Integration (持续集成) 目的:

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。(百度百科回答~)

个人认知:

可以不间断集成,持续嘛… 就是持久啊,长时间的不间断的,集成嘛…就是聚合而成,集合多家。(还有百度百科的…自动化测试来验证问题,尽早发现问题我是有点不太认可的… 因为目前来说我很少见到有公司的jenkins bd完之后去跟一个自动化回归的bd的。也可以从另外一个角度来看,持续集成时会发现代码上的问题了例如:编译不过,发布不过,或者分支合并问题,这些是可以发现的。)

2): CD 全称:

Continuous delivery (持续交付)/Continuous deployment(持续部署)

目的:

Continuous delivery (持续交付):是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以发布的状况。它的目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。(百度百科回答~)
Continuous deployment(持续部署):抱歉没找到百度百科…

个人认知:

Continuous delivery (持续交付):可以不间断交付,持续嘛… 就是持久啊,长时间的不间断的,交付嘛… 就是交给啊,支付啊。既然都能持续集成了,那测试完成没问题就交付给产品大大了啊。持续集成没问题,那就持续交付给产品或者xxx部门来使用嘛,交给嘛~~ 给测试测试通过,给产品验收通过,给老板上了生产赚了钱钱,老板才能持续发工资噻~~
Continuous deployment(持续部署):可以不间断部署,持续嘛… 就是持久啊,长时间的不间断的,部署嘛…就是安排嘛,布置啊。既然都持续集成和持续交付了,那持续部署是不是也该提上日程了啊。前面都持续起来了,那部署持续一下,自动化一下,应该可以的吧~~ 降低手动部署的出现的问题啥的嘛~~ ,比如之前手动拉包在放上去服务器,但是久包没有back 但是新包有问题…好家伙,折腾了一天一夜啊。


Jenkins

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

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

Jenkins通常作为一个独立的应用程序在其自己的流程中运行, 内置Java servlet 容器/应用程序服务器(Jetty)。

Jenkins也可以运行在不同的Java servlet容器((如Apache Tomcat 或 GlassFish))中作为servlet运行.但是设置这些类型的安装的说明超出了本页的范围
(以上为官方解释,个人认知也是这样的。我就用它来ci/cd)

环境介绍: 最低要求配置:

256MB可用内存

1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)

软件配置:

所在服务器必须有:Java 8 (此乃硬性要求)
当然如果把Jenkins作为Docker 容器运行,那就不用了~~

开始咯~ 检查服务器是否符合jenkins 的软硬件:(我用的linux,其他环境请自行百度)

硬件不管,自己看~~

软件检查:
在命令行运行命令:java -version 如下图,则表示该服务器满足jenkins的软件环境要求

[root@ecs-149556 ~]# java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

运行命令后没有出现如上信息,而是出现了

[root@VM-0-2-centos ~]# java -version
-bash: java: 未找到命令

所以执行命令: yum -y list java*

[root@VM-0-2-centos ~]# yum -y list java*
已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
可安装的软件包
java-1.6.0-openjdk.x86_64        1:1.6.0.41-1.13.13.1.el7_3        os
java-1.6.0-openjdk-demo.x86_64   1:1.6.0.41-1.13.13.1.el7_3        os
java-1.6.0-openjdk-devel.x86_64  1:1.6.0.41-1.13.13.1.el7_3        os

(以上内容没有放全…太多了,选择了前三条~~)
找一个8的

java-1.8.0-openjdk                                                           

然后安装~执行命令:yum -y install java-1.8.0-openjdk-src.x86_64

yum -y install java-1.8.0-openjdk-src.x86_64
xxxxx这里代表一大堆
已安装:
 java-1.8.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el7_3
 作为依赖被安装:
  dejavu-fonts-common.noarch 0:2.33-6.el7      dejavu-sans-fonts.noarch 0:2.33-6.el7     flac-libs.x86_64 0:1.3.0-5.el7_1          fontconfig.x86_64 0:2.13.0-4.3.el7            fontpackages-filesystem.noarch 0:1.44-8.el7     giflib.x86_64 0:4.1.6-9.el7               gsm.x86_64 0:1.0.13-11.el7               java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3
  javapackages-tools.noarch 0:3.4.1-11.el7     libICE.x86_64 0:1.0.9-9.el7               libSM.x86_64 0:1.2.2-2.el7                libX11.x86_64 0:1.6.7-4.el7_9                 libX11-common.noarch 0:1.6.7-4.el7_9            libXau.x86_64 0:1.0.8-2.1.el7             libXcomposite.x86_64 0:0.4.4-4.1.el7     libXext.x86_64 0:1.3.3-3.el7
  libXi.x86_64 0:1.7.9-1.el7                   libXrender.x86_64 0:0.9.10-1.el7          libXtst.x86_64 0:1.2.3-1.el7              libasyncns.x86_64 0:0.8-7.el7                 libogg.x86_64 2:1.3.0-7.el7                     libsndfile.x86_64 0:1.0.25-12.el7_9.1     libvorbis.x86_64 1:1.3.3-8.el7.1         libxcb.x86_64 0:1.13-1.el7
  libxslt.x86_64 0:1.1.28-6.el7                mailcap.noarch 0:2.1.41-2.el7             pulseaudio-libs.x86_64 0:10.0-6.el7_9     python-javapackages.noarch 0:3.4.1-11.el7     python-lxml.x86_64 0:3.2.1-4.el7                tzdata-java.noarch 0:2021e-1.el7
完毕!

出现了上图所示,那说明安装成功了。那么验证一下:java -version

[root@VM-0-2-centos ~]# java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

ok,这就成功了。接下来安装jenkins
运行命令:wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

[root@VM-0-2-centos ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

这里可能会提示:

[root@VM-0-2-centos ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2022-03-16 11:46:57--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
正在解析主机 pkg.jenkins.io (pkg.jenkins.io)... 151.101.74.133, 2a04:4e42:1a::645
正在连接 pkg.jenkins.io (pkg.jenkins.io)|151.101.74.133|:443... 已连接。
错误: 无法验证 pkg.jenkins.io 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  颁发的证书已经过期。
要以不安全的方式连接至 pkg.jenkins.io,使用“--no-check-certificate”。

此时先运行以下命令:yum install -y ca-certificates

[root@VM-0-2-centos ~]# yum install -y ca-certificates
已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
xxxxxx 这里一大堆更新就不搞过来了。
更新完毕:
  ca-certificates.noarch 0:2021.2.50-72.el7_9

完毕!

再去执行: wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

[root@VM-0-2-centos ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2022-03-16 11:52:31--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
正在解析主机 pkg.jenkins.io (pkg.jenkins.io)... 151.101.74.133, 2a04:4e42:11::645
正在连接 pkg.jenkins.io (pkg.jenkins.io)|151.101.74.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:85
正在保存至: “/etc/yum.repos.d/jenkins.repo”

100%[==================================================================================================================================================================================================================================================================================================================================>] 85          --.-K/s 用时 0s

2022-03-16 11:52:32 (5.13 MB/s) - 已保存 “/etc/yum.repos.d/jenkins.repo” [85/85])

然后执行: rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

[root@VM-0-2-centos ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

这条命令不会有任何反应,因为看一下key嘛~~ 添加一个key进来,如果有反应告诉你key是啥了…那你人傻不傻? 要是都给别人看到了。

千万要执行这条命令,别问我为啥

接下来,安装。执行一下命令:yum -y install jenkins

[root@VM-0-2-centos ~]# yum -y install jenkins
已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
jenkins                                                                                                                                                                                                                                                                                                                                              | 2.9 kB  00:00:00
jenkins/primary_db                                                                                                                                                                                                                                                                                                                                   |  40 kB  00:00:01
正在解决依赖关系
--> 正在检查事务
---> 软件包 jenkins.noarch.0.2.332.1-1.1 将被 安装
xxxxxx 一大堆安装内容
安装  1 软件包

总下载量:90 M
安装大小:91 M
Downloading packages:
jenkins-2.332.1-1.1.noarch.rpm                                                                                                                                                                                                                                                                                                                       |  90 MB  00:00:30
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : jenkins-2.332.1-1.1.noarch                                                                                                                                                                                                                                                                                                                              1/1
  验证中      : jenkins-2.332.1-1.1.noarch                                                                                                                                                                                                                                                                                                                              1/1

已安装:
  jenkins.noarch 0:2.332.1-1.1

完毕!

至此,jenkins在服务器上安装完毕,接下来看一下jenkins在服务器上的一些东西。

[root@VM-0-2-centos sysconfig]# cd /etc/sysconfig/
[root@VM-0-2-centos sysconfig]# cat jenkins

配置文件所属目录:/etc/sysconfig
可以修改一些启动端口啊,启动参数之类的东西。

[root@VM-0-2-centos etc]# cd /var/log/jenkins/

jenkins启动后日志所在路径:var/log/jenkins/

[root@VM-0-2-centos jenkins]# service jenkins start
Starting jenkins (via systemctl):                          [  OK  ]

jenkins启动命令,初次执行有点慢。建议先执行一下stop停止命令

[root@VM-0-2-centos jenkins]# service jenkins stop
Stopping jenkins (via systemctl):                          [  OK  ]

jenkins启动后浏览器打开:http://ip:8080

如图复制该地址到服务器上运行命令:cat /var/lib/jenkins/secrets/initialAdminPassword

[root@VM-0-2-centos ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
ab426165752843e29512910f38928672

进入准备页面后,我的推荐是选择推荐插件安装(没错就是这么绕口)
然后创建属于自己的用户,开始新准备构建咯

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号