Jenkins分布式
103和104
#创建数据目录
mkdir -p /var/lib/jenkins
103
apt安装jdk
apt install openjdk-8-jdk -y
mkdir -p /var/lib/jenkins/jdk/bin/
whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz <--
#软链接
ln -sv /usr/bin/java /var/lib/jenkins/jdk/bin/java
104
编译安装jdk、下载地址
cd /usr/local/src
tar xvf jdk-8u351-linux-x64.tar.gz
#添加JAVA环境变量
vim /etc/profile
...
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
#使java变量生效
source /etc/profile
#创建目录
mkdir /var/lib/jenkins/jdk/bin -p
#软链接
ln -sv /usr/local/src/jdk1.8.0_351 /usr/local/jdk
ln -sv /usr/local/jdk/bin/java /var/lib/jenkins/jdk/bin/
系统管理-节点管理
新建节点时间一定要同步、date查看【master(102)、slave(103、104)】
图1
系统管理-节点管理-'jenkins-slave1'-日志
再次新建节点
图2
系统管理-节点管理-'jenkins-slave2'-日志
pipline
官方介绍:jenkins.io/2.0
pipline 是帮助 jenkins 实现 CI 到 CD 转变的重要角色,是运行在jenkins 2.X 版本的核心插件,简单来说 pipline 就要一套运用于 jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程,从而实现单个任务很难实现的复杂流程编排和任务可视化,pipline 的实现方案是一套Groovy DSL,任何发布流程都可以表述为一段Groovy 脚本。
新建任务
103
#生成密钥
ssh-keygen
#拷贝密钥到'远程主机的tomcat用户' 密码:1234.com
ssh-copy-id tomcat@192.168.37.105
ssh-copy-id tomcat@192.168.37.106
103 slave 没有密钥(方法)
node {
stage('代码clone')
git branch: 'develop', credentialsId: 'cf8129d1-9772-475b-a9a8-ea857687d1ab', url: 'git@192.168.37.101:linux01/web1.git'
stage('代码打包')
sh 'cd /var/lib/jenkins/workspace/pipline-test && tar czvf app.tar.gz ./*'
stage('代码拷贝')
sh 'cd /var/lib/jenkins/workspace/pipline-test && scp app.tar.gz tomcat@192.168.37.105:/data/tomcat/tomcat_appdir'
sh 'cd /var/lib/jenkins/workspace/pipline-test && scp app.tar.gz tomcat@192.168.37.106:/data/tomcat/tomcat_appdir'
stage('代码部署')
sh 'ssh tomcat@192.168.37.105 "/etc/init.d/tomcat stop"'
sh 'ssh tomcat@192.168.37.106 "/etc/init.d/tomcat stop"'
sh 'ssh tomcat@192.168.37.105 "rm -rf /data/tomcat/tomcat_webdir/app && rm -rf /data/tomcat/tomcat_webapps/myapp"'
sh 'ssh tomcat@192.168.37.106 "rm -rf /data/tomcat/tomcat_webdir/app && rm -rf /data/tomcat/tomcat_webapps/myapp"'
sh 'ssh tomcat@192.168.37.105 "mkdir /data/tomcat/tomcat_webdir/app && cd /data/tomcat/tomcat_appdir && tar xvf app.tar.gz -C /data/tomcat/tomcat_webdir/app/"'
sh 'ssh tomcat@192.168.37.106 "mkdir /data/tomcat/tomcat_webdir/app && cd /data/tomcat/tomcat_appdir && tar xvf app.tar.gz -C /data/tomcat/tomcat_webdir/app/"'
stage('代码替换')
sh 'ssh tomcat@192.168.37.105 "ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/myapp"'
sh 'ssh tomcat@192.168.37.106 "ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/myapp"'
stage('启动tomcat')
sh 'ssh tomcat@192.168.37.105 "/etc/init.d/tomcat start"'
sh 'ssh tomcat@192.168.37.106 "/etc/init.d/tomcat start"'
}
*105
修改版本号
cd /opt/web1
#修改页面信息
vim index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Linux01 项目1</title>
</head>
<body>
<h1>Linux01 web1 v5</h1>
<h1>Linux01 web1 v8</h1>
<h1>Linux01 web1 v9</h1> <--
</body>
</html>
git add ./*
git commit -m "v9"
#账号:zhangsan 密码:1234.com
git push
立即构建
版本变化