jenkins使用

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

#jenkins角色授权管理

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#使用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

    1
    2
    3
    4
    # vim /etc/default/jenkins
    ## user and group to be invoked as (default to jenkins)
    ## JENKINS_USER=root
    ## JENKINS_GROUP=root
  2. 让jenkins用户有权

    1
    2
    # su - jenkins
    # ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub root@192.168.0.225
---------------- 谢谢光临 ----------------

本文标题:jenkins使用

文章作者:pxrux

发布时间:2020年10月24日 - 00:10

最后更新:2020年10月24日 - 00:10

原始链接:http://www.mykernel.cn/jenkins_v1.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%