一、jenkins是什么?
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
二、CI/CD是什么?
CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。
CI
CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。
准备工作
//关闭防火墙selinux [root@localhost ~]# systemctl disable --now firewalld [root@localhost ~]# setenforce 0
java环境安装
//安装jdk [root@localhost ~]# yum install -y java-11-openjdk //查看jdk版本 [root@localhost ~]# java -version openjdk version "11.0.11" 2021-04-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.11+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.11+9-LTS, mixed mode, sharing)
安装tomcat,jenkins
//安装jenkins [root@node2 ~]# wget http://mirrors.jenkins-ci.org/war/2.293/jenkins.war //tomcat最新的版本有问题,所以用了旧版本 [root@node2 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz [root@node2 ~]# ls anaconda-ks.cfg apache-tomcat-9.0.46.tar.gz index.jsp mei jenkins.war [root@node2 ~]# [root@node2 ~]# tar xf apache-tomcat-9.0.46.tar.gz -C /usr/local/ [root@node2 ~]# mkdir /usr/local/tomcat [root@node2 ~]# cd /usr/local/apache-tomcat-9.0.46/ [root@node2 apache-tomcat-9.0.46]# ls bin conf lib logs README.md RUNNING.txt webapps BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work [root@node2 apache-tomcat-9.0.46]# cp /root/jenkins.war webapps/ [root@node2 apache-tomcat-9.0.46]# ls webapps/ docs examples host-manager jenkins.war manager ROOT //启动tomcat [root@node2 ~]# /usr/local/apache-tomcat-9.0.46/bin/catalina.sh start [root@node2 ~]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 100 *:8080 *:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:* //端口起来了不一定启动,查看一下进程 [root@node2 ~]# ps -ef | grep tomcat root 1735 1 37 05:31 pts/0 00:00:22 /usr/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.46/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/apache-tomcat-9.0.46/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.46/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache-tomcat-9.0.46 -Dcatalina.home=/usr/local/apache-tomcat-9.0.46 -Djava.io.tmpdir=/usr/local/apache-tomcat-9.0.46/temp org.apache.catalina.startup.Bootstrap start root 1801 1418 0 05:32 pts/0 00:00:00 grep --color=auto tomcat
在提示文件里找到密码,登录
[root@node2 ~]# cat /root/.jenkins/secrets/initialAdminPassword 4c6e996646aa4da1a5da3f00942df1d9
jenlins网页操作
安装插件
更多操作,进到jenkins官方文档查看