highlight: atelier-lakeside-dark
theme: jzman
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 JAVAHOME=/usr/local/jdk export PATH=$JAVAHOME/bin:$JAVAHOME/jre/bin:$PATH export CLASSPATH=.$CLASSPATH:$JAVAHOME/lib:$JAVAHOME/jre/lib:$JAVAHOME/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
官方介绍:https://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/tomcatappdir' sh 'cd /var/lib/jenkins/workspace/pipline-test && scp app.tar.gz tomcat@192.168.37.106:/data/tomcat/tomcatappdir'
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/tomcatwebdir/app /data/tomcat/tomcatwebapps/myapp"' sh 'ssh tomcat@192.168.37.106 "ln -sv /data/tomcat/tomcatwebdir/app /data/tomcat/tomcatwebapps/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
Linux01 web1 v5
Linux01 web1 v8
Linux01 web1 v9
<--git add ./* git commit -m "v9"
账号:zhangsan 密码:1234.com
git push ``` 立即构建
版本变化