2020-10-24
linux
00
请注意,本文编写于 1302 天前,最后修改于 1302 天前,其中某些信息可能已经过时。

目录

jenkins使用pipeline执行远程脚本时出现Host key verification failed错误

安装的插件 gitlab相关的 #代码 Role-based Authorization Strategy #权限管理 Blue Ocean #流水线形式 Authorize Project Plugin #jenkins角色授权管理

#邮箱配置 “系统管理”-“系统配置”先设置“系统管理员邮件地址”,再配置最下边的smtp服务器。

jenkins克隆代码(任意一台服务器)

  1. 推荐使用脚本clone代码,便于控制版本
  2. 使用jenkins克隆

分发代码 服务器需要免密登陆 scp copy代码到对应到目录 copy代码的时候需要关闭服务器 copy完成后需要重启服务

bash
#使用jenkins拉取完成代码,代码默认的位置为:/var/lib/jenkins/workspace/trad #打包拉取的代码并压缩 cd /var/lib/jenkins/workspace/trad && tar czvf trad.tar.gz ./* #分发,将代码copy到225和226服务器 scp trad.tar.gz www@192.168.0.225:/data/tomcat/tomcat_appdir scp trad.tar.gz www@192.168.0.226:/data/tomcat/tomcat_appdir #进入到225和226,使用www用户停止服务器 ssh www@192.168.0.225 "/etc/init.d/tomcat stop" ssh www@192.168.0.226 "/etc/init.d/tomcat stop" #到225和226解压代码到tomcat到运行目录位置 ssh www@192.168.0.225 "cd /data/tomcat/tomcat_appdir && rm -rf /data/tomcat/tomcat_webapps/myapp/* && tar xvf trad.tar.gz -C /data/tomcat/tomcat_webapps/myapp/" ssh www@192.168.0.226 "cd /data/tomcat/tomcat_appdir && rm -rf /data/tomcat/tomcat_webapps/myapp/* && tar xvf trad.tar.gz -C /data/tomcat/tomcat_webapps/myapp/" #启动tomcat ssh www@192.168.0.225 "/etc/init.d/tomcat start" ssh www@192.168.0.226 "/etc/init.d/tomcat start" #验证是否成功

jenkins分布式实现代码部署 pipline简介,实现基于pipline的代码部署 sonarqube简介。7.9.2部署及功能简介 jenkins结合代码扫描实现代码扫描 jenkins实现代码自动部署和回滚

gitlab的分支管理和触发器(钩子)

代码部署流程:

  1. 开发提交或者合并代码
  2. 运维clone代码
  3. 代码质量测试(sonarqube)
  4. 代码打包或者编译(maven)
  5. 代码分发(scp,ansible,saltstack)到web服务器
  6. web服务器部署代码,负载均衡下线服务器,停止服务器,升级代码,重启,代码测试
  7. 上线到负载均衡
  8. 对外提供服务

测试和开发代码可以执行自动部署。。

基于钩子触发。 jenkins安装gitlab插件: Gitlab Hook Plugin,安装会有警告信息,因为相关配置信息会以明文形式存在 Gitlab Authentication plugin

  1. 修改配置,设置为登陆用户可以做任何事情
  2. 项目内开启“触发远程构建 (例如,使用脚本)”

http://192.168.0.221:8080/job/trad-dev/build?token=12345678

jenkins分布式 减少单台服务器的压力

master slave1 slave2

代码回滚 jenkins2.0 开始支持pipline

jenkins使用pipeline执行远程脚本时出现Host key verification failed错误

因为jenkins安装时候默认会使用jenkins用户去执行scp或者ssh命令,但是jenkins用户无权限去远程连接。 解决办法:

  1. 需要启动组合用户为root
bash
# vim /etc/default/jenkins ## user and group to be invoked as (default to jenkins) ## JENKINS_USER=root ## JENKINS_GROUP=root
  1. 让jenkins用户有权
bash
# su - jenkins # ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub root@192.168.0.225

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!