介绍
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
安装
根据自己系统的版本,选择合适的格式,
- 安装JDK
[root@CentOSC ~]# rpm -ivh jdk-8u271-linux-x64.rpm
warning: jdk-8u271-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8-2000:1.8.0_271-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
war方式
- 下载war包
[root@CentOSC ~]# yum install wget -y
[root@CentOSC ~]# wget https://mirrors.jenkins.io/war/2.327/jenkins.war --no-check-certificate
[root@CentOSC ~]# ls
anaconda-ks.cfg jenkins.war
- 启动Jenkins
[root@CentOSC ~]# java -jar jenkins.war --httpPort=8080
Running from: /root/jenkins.war
webroot: $user.home/.jenkins
2022-07-28 13:08:10.967+0000 [id=1] INFO org.eclipse.jetty.util.log.Log#initialized: Logging initialized @573ms to org.eclipse.jetty.util.log.JavaUtilLog
2022-07-28 13:08:11.049+0000 [id=1] INFO winstone.Logger#logInternal: Beginning extraction from war file
2022-07-28 13:08:12.408+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2022-07-28 13:08:12.482+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: jetty-9.4.43.v20210629; built: 2021-06-30T11:07:22.254Z; git: 526006ecfa3af7f1a27ef3a288e2bef7ea9dd7e8; jvm 1.8.0_271-b09
2022-07-28 13:08:12.820+0000 [id=1] INFO o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2022-07-28 13:08:12.887+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
2022-07-28 13:08:12.887+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
2022-07-28 13:08:12.888+0000 [id=1] INFO o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 660000ms
2022-07-28 13:08:13.431+0000 [id=1] INFO hudson.WebAppMain#contextInitialized: Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
2022-07-28 13:08:14.834+0000 [id=1] INFO o.e.j.s.handler.ContextHandler#doStart: Started w.@2c444798{Jenkins v2.327,/,file:///root/.jenkins/war/,AVAILABLE}{/root/.jenkins/war}
2022-07-28 13:08:14.881+0000 [id=1] INFO o.e.j.server.AbstractConnector#doStart: Started ServerConnector@68746f22{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2022-07-28 13:08:14.881+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: Started @4487ms
2022-07-28 13:08:14.899+0000 [id=21] INFO winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled
2022-07-28 13:08:16.053+0000 [id=26] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization
2022-07-28 13:08:16.103+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2022-07-28 13:08:17.370+0000 [id=26] INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2022-07-28 13:08:17.372+0000 [id=26] INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins
2022-07-28 13:08:17.406+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2022-07-28 13:08:18.226+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: System config loaded
2022-07-28 13:08:18.226+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: System config adapted
2022-07-28 13:08:18.226+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2022-07-28 13:08:18.227+0000 [id=27] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2022-07-28 13:08:18.800+0000 [id=40] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$1: Started Download metadata
2022-07-28 13:08:18.808+0000 [id=40] INFO hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2022-07-28 13:08:18.941+0000 [id=26] INFO jenkins.install.SetupWizard#init:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
`cae020a0061c4c73b865657e6fb7b18f`
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
留意/root/.jenkins/secrets/initialAdminPassword输出目录,该目录存储了解锁Jenkins的秘钥
- 关闭防火墙,访问http的8080端口
[root@CentOSC ~]# systemctl stop firewalld
[root@CentOSC ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@CentOSC ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Jul 28 16:52:34 CentOSC systemd[1]: Starting firewalld - dynamic firewall daemon...
Jul 28 16:52:36 CentOSC systemd[1]: Started firewalld - dynamic firewall daemon.
Jul 28 21:11:15 CentOSC systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jul 28 21:11:15 CentOSC systemd[1]: Stopped firewalld - dynamic firewall daemon.
- 解锁Jenkins服务
填写密码cae020a0061c4c73b865657e6fb7b18f
点击继续,进入Jenkins插件向导页面
- 插件向导页面
我这里选择选择插件来安装
选项,点击进入插件详情页
- 新手入门
这里推荐选择无
,因为下载插件比较慢,我们可以在后期需要的时候在选择下载,点击安装
按钮,进入管理员用户创建页面
- 管理员用户
输入Username、Pasword、Full name参数,其中Username、Passwpord是用于登录的账户信息,Full name是显示的别名,可以随意设定,点击保存并完成
- 实例配置
Jenkins URL 用于给各种Jenkins资源提供绝对路径链接的根地址。 这意味着对于很多Jenkins特色是需要正确设置的,例如:邮件通知、PR状态更新以及提供给构建步骤的BUILD_URL环境变量,点击保存并完成
- 开始使用Jenkins
点击开始使用Jenkins
按钮即可,进入Jenkins首页
- Jenkis首页
rpm方式
- 下载Jenkins安装包
[root@CentOSC ~]# wget https://mirrors.jenkins.io/redhat/jenkins-2.327-1.1.noarch.rpm --no-check-certificate
--2022-07-28 21:36:25-- https://mirrors.jenkins.io/redhat/jenkins-2.327-1.1.noarch.rpm
Resolving mirrors.jenkins.io (mirrors.jenkins.io)... 52.167.253.43
Connecting to mirrors.jenkins.io (mirrors.jenkins.io)|52.167.253.43|:443... connected.
WARNING: cannot verify mirrors.jenkins.io's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.
HTTP request sent, awaiting response... 302 Found
Location: https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.327-1.1.noarch.rpm [following]
--2022-07-28 21:36:26-- https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.327-1.1.noarch.rpm
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.15.130, 2402:f000:1:400::2
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.15.130|:443... connected.
WARNING: cannot verify mirrors.tuna.tsinghua.edu.cn's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 73494221 (70M) [application/x-redhat-package-manager]
Saving to: ‘jenkins-2.327-1.1.noarch.rpm’
100%[==================================================================================================================================================================================================>] 73,494,221 1.45MB/s in 47s
2022-07-28 21:37:14 (1.49 MB/s) - ‘jenkins-2.327-1.1.noarch.rpm’ saved [73494221/73494221]
- 安装依赖
[root@CentOSC ~]# yum -y install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.nethub.com.hk
* extras: mirrors.bfsu.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Installing:
epel-release noarch 7-11 extras 15 k
Transaction Summary
============================================================================================================================================================================================================================================
Install 1 Package
Total download size: 15 k
Installed size: 24 k
Downloading packages:
epel-release-7-11.noarch.rpm | 15 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Installing : epel-release-7-11.noarch 1/1
Verifying : epel-release-7-11.noarch 1/1
Installed:
epel-release.noarch 0:7-11
Complete!
[root@CentOSC ~]# yum -y install daemonize
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 6.9 kB 00:00:00
* base: centos.nethub.com.hk
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.bfsu.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
epel | 4.7 kB 00:00:00
(1/3): epel/x86_64/group_gz | 97 kB 00:00:00
(2/3): epel/x86_64/updateinfo | 1.1 MB 00:00:00
(3/3): epel/x86_64/primary_db | 7.0 MB 00:00:04
Resolving Dependencies
--> Running transaction check
---> Package daemonize.x86_64 0:1.7.7-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Installing:
daemonize x86_64 1.7.7-1.el7 epel 21 k
Transaction Summary
============================================================================================================================================================================================================================================
Install 1 Package
Total download size: 21 k
Installed size: 28 k
Downloading packages:
warning: /var/cache/yum/x86_64/7/epel/packages/daemonize-1.7.7-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for daemonize-1.7.7-1.el7.x86_64.rpm is not installed
daemonize-1.7.7-1.el7.x86_64.rpm | 21 kB 00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package : epel-release-7-11.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : daemonize-1.7.7-1.el7.x86_64 1/1
Verifying : daemonize-1.7.7-1.el7.x86_64 1/1
Installed:
daemonize.x86_64 0:1.7.7-1.el7
Complete!
- 安装依赖
[root@CentOSC ~]# rpm -ivh jenkins-2.327-1.1.noarch.rpm
warning: jenkins-2.327-1.1.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 45f2c3d5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:jenkins-2.327-1.1 ################################# [100%]
- 启动Jenkins服务
[root@CentOSC ~]# systemctl start jenkins
[root@CentOSC ~]# jps
21817 Jps
21789 jenkins.war
- 关闭防火墙,访问http的8080端口
[root@CentOSC ~]# systemctl stop firewalld
[root@CentOSC ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@CentOSC ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Jul 28 16:52:34 CentOSC systemd[1]: Starting firewalld - dynamic firewall daemon...
Jul 28 16:52:36 CentOSC systemd[1]: Started firewalld - dynamic firewall daemon.
Jul 28 21:11:15 CentOSC systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jul 28 21:11:15 CentOSC systemd[1]: Stopped firewalld - dynamic firewall daemon.
- 解锁Jenkins服务
查看密码/var/lib/jenkins/secrets/initialAdminPassword
点击继续,进入Jenkins插件向导页面
- 插件向导页面
我这里选择选择插件来安装
选项,点击进入插件详情页
- 新手入门
这里推荐选择无
,因为下载插件比较慢,我们可以在后期需要的时候在选择下载,点击安装
按钮,进入管理员用户创建页面
- 管理员用户
输入Username、Pasword、Full name参数,其中Username、Passwpord是用于登录的账户信息,Full name是显示的别名,可以随意设定,点击保存并完成
- 实例配置
Jenkins URL 用于给各种Jenkins资源提供绝对路径链接的根地址。 这意味着对于很多Jenkins特色是需要正确设置的,例如:邮件通知、PR状态更新以及提供给构建步骤的BUILD_URL环境变量,点击保存并完成
- 开始使用Jenkins
点击开始使用Jenkins
按钮即可,进入Jenkins首页
- Jenkis首页
Jenkins汉化插件
- 选择
Manage Jenkins
按钮
- 輸入
Chinese
点击搜索
选择该插件,点击install without restart
按钮
- 等待安装结束选择Restart Jenkins when installation complete and no job are running
等待30秒钟左右,刷新浏览器即可
- Jenkins登录页
输入账户admin 密码 admin点击登录页面
- 登录页面