CI:持续集成(ConTINUOUS INTEGRATION)
它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。
CD:持续交付(ConTINUOUS DELIVERY)
通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。
CD:持续部署(ConTINUOUS DEPLOYMENT)
指的是自动将开发人员的更改从存储库发布到生产环境,以供客户使用。它主要为了解决因手动流程降低应用交付速度,从而使运维团队超负荷的问题。持续部署以持续交付的优势为根基,实现了管道后续阶段的自动化。
总结:CI/CD 其实就是一个流程(通常形象地表述为管道),用于实现应用开发中的高度持续自动化和持续监控。该术语的具体含义取决于 CI/CD 管道的自动化程度。
- Jenkins是一个独立的开源自动化服务器,可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Environment的任何机器独立运行。
- Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
- 简单点说: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 ~]# sed -ri 's/^(SELINUX=).*/1disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0
//java环境安装
[root@localhost ~]# yum -y install java-11-openjdk* wget vim
//下载tomcat
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
//解压并做软连接
[root@localhost src]# tar xf /usr/src/apache-tomcat-9.0.54.tar.gz -C /usr/local/
[root@localhost src]# ls /usr/local/
apache-tomcat-9.0.54 bin etc games include lib lib64 libexec sbin share src
[root@localhost src]# ln -sv /usr/local/apache-tomcat-9.0.54/ /usr/local/tomcat
'/usr/local/tomcat' -> '/usr/local/apache-tomcat-9.0.54/'
//创建网站位置/usr/local/tomcat/webapps/test并在test目录下创建index.jsp 用来创建java默认页面
[root@localhost ~]# mkdir -p /usr/local/tomcat/webapps/test/
[root@localhost ~]# cat > /usr/local/tomcat/webapps/test/index.jsp << EOF
test page
<%
out.println("Hellow World");
%>
EOF
[root@localhost ~]# ls /usr/local/tomcat/webapps/test/
index.jsp
//开启
[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.
[root@localhost ~]# 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 *:*
下载jenkins
[root@localhost ~]# cd /usr/local/tomcat/webapps/ [root@localhost webapps]# ls docs examples host-manager manager ROOT test [root@localhost webapps]# rm -rf docs examples host-manager test manager [root@localhost webapps]# ls ROOT [root@localhost webapps]# wget https://get.jenkins.io/war-stable/2.303.2/jenkins.war [root@localhost webapps]# ls jenkins jenkins.war ROOT
密码
[root@localhost webapps]# cat /root/.jenkins/secrets/initialAdminPassword 8f1a5adc3f1544c3bb50a9bdd9354b11



