代码合并、部署、自动化测试都在一起,并对结果反馈。
让软件的产出过程在一个短周期内完成,保障软件可以稳定、持续地保持在随时可以发布的状态。重点在于可交付的产物
通过自动化部署将交付物部署到期望的环境
Jenkins是开源CI&CD系统,用于自动化各种任务,包括构建、测试、部署。
方式1:tomcat安装
安装jdk和maven
[root@master k8s-ftp]# tar -xvf jdk-8u45-linux-x64.tar.gz [root@master k8s-ftp]# mv jdk1.8.0_45/ /usr/local/jdk/ [root@master k8s-ftp]# tar -xvf apache-maven-3.5.0-bin.tar.gz [root@master k8s-ftp]# mv apache-maven-3.5.0 /usr/local/maven [root@master k8s-ftp]# vi /etc/profile JAVA_HOME=/usr/local/jdk PATH=$JAVA_HOME/bin:$PATH:/usr/local/maven/bin export JAVA_HOME PATH [root@master k8s-ftp]# source /etc/profile 验证安装 [root@master bin]# java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
安装tomcat
[root@master k8s-ftp]# tar -xvf apache-tomcat-8.5.59.tar.gz [root@master k8s-ftp]# mv apache-tomcat-8.5.59 /usr/local/tomcat-jenkins [root@master webapps]# ls docs examples host-manager manager ROOT [root@master webapps]# rm -rf *
安装jenkins
把jenkins包放到webapps,然后启动 [root@master webapps]# ls jenkins.war [root@master webapps]# mv jenkins.war ROOT.war [root@master bin]# ./startup.sh Using CATALINA_BASE: /usr/local/tomcat-jenkins Using CATALINA_HOME: /usr/local/tomcat-jenkins
登录(admin admin)->跳过插件安装
http://192.168.2.60:8080/
方式2:docker安装
[root@slave-1 ~]# docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root -v /opt/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /usr/local/maven:/usr/local/maven -v /usr/local/jdk:/usr/local/jdk -v /etc/localtime:/etc/localtime --restart=always --name jenkins jenkins/jenkins:lts 0ce1a84275c241fab428f378af637c7fc29c9e3a9651c1d311d0b6100522affb
设置清华源 [root@master updates]# pwd /root/.jenkins/updates [root@master updates]# sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
离线插件包下载
常用插件
中文设置
http://192.168.2.60:8080/restart
项目管理
新建任务
丢弃旧的构建
参数化构建
用echo测试变量
用户与权限管理
参数化扩展
分布式构建(Master/Slave) • 拷贝构建文件到远程服务器
在远程服务器执行Shell命令