Jenkins
简介
Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Environment的任何机器独立运行。
主要用于:
- 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
- 监控一些定时执行的任务。
环境搭建
Jenkins支持各个平台上的搭建过程,开发我们主要在Linux和win7上玩转Jenkins,这边主要通过win7下介绍Jenkins玩法,Linux上大同小异。
Jenkins特点:
- 开源免费;
- 跨平台,支持所有的平台;
- master/slave支持分布式的build;
- web形式的可视化的管理页面;
- 安装配置超级简单;
- tips及时快速的帮助;
- 已有的200多个插件
部署jenkins
关闭防火墙和selinux
[root@localhost]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost]# setenforce 0
部署jenkins首要要有tomcat,tomcat又必须有Java环境,所以先安装java环境
[root@localhost ~]# yum -y install java-17-openjdk* wget vim
软件包 vim-enhanced-2:8.0.1763-15.el8.x86_64 已安装。
依赖关系解决。
=========================================================================================
软件包 架构 版本 仓库 大小
=========================================================================================
安装:
·····
wget-1.19.5-10.el8.x86_64
xorg-x11-font-utils-1:7.5-41.el8.x86_64
xorg-x11-fonts-Type1-7.5-19.el8.noarch
完毕!
下载tomcat,解压并创建软连接
[root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
--2021-10-18 11:03:52-- https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
正在解析主机 archive.apache.org (archive.apache.org)... 138.201.131.134, 2a01:4f8:172:2ec5::2
正在连接 archive.apache.org (archive.apache.org)|138.201.131.134|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:11576317 (11M) [application/x-gzip]
正在保存至: “apache-tomcat-9.0.54.tar.gz”
apache-tomcat-9.0.54.t 100%[=========================>] 11.04M 24.9KB/s 用时 6m 30s
2021-10-18 11:10:25 (29.0 KB/s) - 已保存 “apache-tomcat-9.0.54.tar.gz” [11576317/11576317])
[root@localhost ~]# tar xf apache-tomcat-9.0.54.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -sv apache-tomcat-9.0.54 tomcat
'tomcat' -> 'apache-tomcat-9.0.54'
启动tomcat
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
访问网页
下载Jenkins
[root@localhost ~]# wget http://mirrors.jenkins.io/war-stable/2.303.2/jenkins.war
--2021-10-18 11:20:25-- http://mirrors.jenkins.io/war-stable/2.303.2/jenkins.war
正在解析主机 mirrors.jenkins.io (mirrors.jenkins.io)... 52.202.51.185
正在连接 mirrors.jenkins.io (mirrors.jenkins.io)|52.202.51.185|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:http://ftp-chi.osuosl.org/pub/jenkins/war-stable/2.303.2/jenkins.war [跟随至新的 URL]
--2021-10-18 11:20:26-- http://ftp-chi.osuosl.org/pub/jenkins/war-stable/2.303.2/jenkins.war
正在解析主机 ftp-chi.osuosl.org (ftp-chi.osuosl.org)... 64.50.236.52, 2600:3402:200:227::2
正在连接 ftp-chi.osuosl.org (ftp-chi.osuosl.org)|64.50.236.52|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:72334258 (69M) [application/x-java-archive]
正在保存至: “jenkins.war”
jenkins.war 100%[=========================>] 68.98M 244KB/s 用时 6m 7s
2021-10-18 11:26:33 (193 KB/s) - 已保存 “jenkins.war” [72334258/72334258])
停掉tomcat
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
将下载的Jenkins包移到/usr/local/tomcat/webapps/下
[root@localhost ~]# mv jenkins.war /usr/local/tomcat/webapps/
[root@localhost ~]# ls /usr/local/tomcat/webapps/
docs examples host-manager jenkins.war manager ROOT
启动tomcat
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 32 *:21 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005
访问网页
复制到web界面的路径,找到密码
[root@localhost ~]# cat /root/.jenkins/secrets/initialAdminPassword
c708709253574929b9df8c6da20533ab