Jenkins介绍与部署

导读:本篇文章讲解 Jenkins介绍与部署,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、Jenkins是什么?

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

二、CI/CD是什么?

CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。

在这里插入图片描述
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。
在这里插入图片描述
有一篇博客详细讲解CI/CD的作用:CI/CD

三、Jenkins的功能

备份、迁移、恢复jenkins

首先找到JENKINS_HOME,因为Jenkins的所有的数据都是以文件的形式存放在JENKINS_HOME目录中。不管是迁移还是备份,只需要操作JENKINS_HOME就行了。

迁移:建议将JENKINS_HOME打包后在拷贝,windows可以用zip,rar等,Linux有zip,tar等,然后将打包的文件解压到新的JENKINS_HOME目录就行了。

备份:如果是临时备份,整个压缩文件就行了。

恢复:恢复的时候需要先停止jenkins。

升级Jenkins

Jenkins的开发迭代非常快,每周发布一个开发版本,长期支持版每半年更新一次(ps:大版本更新)。如此频繁的更新,怎么升级呢?

war:下载新版的war文件,替换旧版本war文件。重启即可。
二进制:卸载旧版本,安装新版本即可。
Jenkins程序下载地址:http://mirrors.jenkins-ci.org/

note:升级前,请测试该版本和你本地数据的兼容性。如何测试:将JENKINS_HOME拷贝一份到新的机器,用新版的程序启动。测试对应的插件和配置。

移动,删除或修改jobs

对于移动或删除jobs,只需要简单地移动或删除%JENKINS_HOEM%\jobs目录。

对于修改jobs的名字,只需要简单地修改%JENKINS_HOEM%\jobs下对应job的文件夹的名字。

对于不经常使用的job,只需要对%JENKINS_HOEM%\jobs下对应的jobs的目录zip或tar后存储到其他的地方。

Jenkins 启动时的命令行参数

–httpPort=

H

T

T

P

P

O

R

T

j

e

n

k

i

n

s

w

e

b

h

t

t

p

s

P

o

r

t

=

HTTP_PORT,用来设置jenkins运行时的web端口。 –httpsPort=

HTTPPORTjenkinswebhttpsPort=HTTP_PORT,表示使用https协议。
–httpListenAddress=$HTTP_HOST,用来指定jenkins监听的ip范围,默认为所有的ip都可以访问此jenkins server。

修改jenkins的timezone

如果jenkins所在的server的timezone不同于用户的timezone,这时候需要修改jenkins的timezone,需要在jenkins启动的时候增加下列参数-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ

通过脚本启动jenkins

set JENKINS_HOME=C:\Documents and Settings\Administrator.hudson
cd /d %JENKINS_HOME%
java -jar jenkins.war –httpPort=8080

保存文件名为startjenkins.bat

查看jenkins的系统信息

以在jenkins的管理页面下的系统信息中,查看所有的jenkins的信息,例如jenkins的启动配置,所依赖的系统的环境变量,所安装的plugins。

四、常用插件介绍

插件下载地址1
插件下载地址2

插件名 功能
perforce 他的label功能来对成功的build进行label
Dashboard View 用来自定义自己的主页
Deploy Plugin 插件支持将War/Jar部署到远程的应用服务器上,例如Tomcat,JBoss,Glassfish。正在寻找或开发.NET web 应用的自动发布插件。
NUnit Plugin 创建/打开项目,设定项目执行配置,以及为项目添加测试组件等。
Publish Over FTP Plugin 这个插件可以将构建的产物(例如:Jar)发布到FTP中去。
Publish Over SSH 这个插件可以通过ssh连接其他Linux机器
JobConfigHistory Plugin 非常有用,可以查看job历史配置信息
sidebar links 这个插件不错,可以添加一些链接到jenkins上,比如把fitnesse的测试集链接添加到上面,方便访问。

五、Jenkins部署

manage
// 准备工作
[root@manage ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@manage ~]# vi /etc/selinux/config 
SELINUX=disabled
[root@manage ~]# setenforce 0
[root@manage ~]# reboot
[root@manage ~]# setenforce 0
setenforce: SELinux is disabled
// 安装依赖包和工具
[root@manage ~]# yum -y install java-17-openjdk* wget vim
// 下载Apache-tomcat包
[root@manage ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
// 解压
[root@manage ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.54.tar.gz

[root@manage ~]# tar xf apache-tomcat-9.0.54.tar.gz -C /usr/local/
[root@manage ~]# cd /usr/local/
[root@manage local]# ls
apache-tomcat-9.0.54  etc    include  lib64    sbin   src
bin                   games  lib      libexec  share
[root@manage local]# mv apache-tomcat-9.0.54/ tomcat
启动Tomcat,查看web界面内容
[root@manage local]# cd /usr/local/tomcat/bin/
[root@manage bin]# ls
bootstrap.jar                 makebase.sh
catalina-tasks.xml            setclasspath.bat
catalina.bat                  setclasspath.sh
catalina.sh                   shutdown.bat
ciphers.bat                   shutdown.sh
ciphers.sh                    startup.bat
commons-daemon-native.tar.gz  startup.sh
commons-daemon.jar            tomcat-juli.jar
configtest.bat                tomcat-native.tar.gz
configtest.sh                 tool-wrapper.bat
daemon.sh                     tool-wrapper.sh
digest.bat                    version.bat
digest.sh                     version.sh
makebase.bat

[root@manage bin]# /usr/local/tomcat/bin/startup.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.

[root@manage bin]# 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      1      [::ffff:127.0.0.1]:8005              *:*                                                           
LISTEN 0      100                     *:8080              *:*                                                           
LISTEN 0      128                  [::]:22             [::]:*                                                           

请添加图片描述
以下操作为Jenkins部署操作
将tomcat的配置web配置文件删除,替换成Jenkins包

[root@manage bin]# cd /usr/local/tomcat/webapps/
[root@manage webapps]# ls
ROOT  docs  examples  host-manager  manager
[root@manage webapps]# rm -rf docs/ examples/ host-manager/ manager/
[root@manage webapps]# ls
ROOT

[root@manage webapps]# cd ROOT/
[root@manage ROOT]# ls
RELEASE-NOTES.txt  bg-button.png  bg-upper.png  tomcat.css
WEB-INF            bg-middle.png  favicon.ico   tomcat.svg
asf-logo-wide.svg  bg-nav.png     index.jsp
[root@manage ROOT]# rm -rf *
[root@manage ROOT]# ls
[root@manage ROOT]# 
在/usr/local/tomcat/webapps目录下载jenkins包
[root@manage ROOT]# cd /usr/local/tomcat/webapps/
[root@manage webapps]# wget http://mirrors.jenkins.io/war-stable/2.303.2/jenkins.war
[root@manage webapps]# ls
ROOT  jenkins  jenkins.war
重启服务
[root@manage webapps]# ls
ROOT  jenkins  jenkins.war
[root@manage webapps]# /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

[root@manage webapps]# /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.

[root@manage webapps]# 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             [::]:22             [::]:*    

使用ip+端口号+/jenkin(webapps目录下的解压目录) 访问Jenkins web界面

获取管理员密码

请添加图片描述

查看登录密码
[root@manage webapps]# cat /root/.jenkins/secrets/initialAdminPassword
0defb979c1334ff39e4960d7186c109a

请添加图片描述
请添加图片描述
请添加图片描述
选择默认设置好的功能直接安装
请添加图片描述
点击安装

请添加图片描述
等待它自动安装完成

创建管理员用户请添加图片描述
请添加图片描述
请添加图片描述
点击Save and Finish 保存

配置就完成了请添加图片描述
请添加图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5612.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!