jenkins角色认证、修改密码、邮件通知及实现代码部署(小节6)

389 阅读2分钟

1.配置jenkins权限管理

基于角色的权限管理,先创建角色和用户,给角色授权,然后把用户关联到角色。

安装Role-based(基于角色的认证策略) 图片.png

创建新用户 图片.png 图片.png 图片.png 图片.png

更改认证方式

jenkins主页-系统管理-全局安全配置 图片.png jenkins主页-系统管理 图片.png 创建角色 图片.png 图片.png 图片.png 分配角色 图片.png

图片.png

2. jenkins修改密码

102

  1. 用户信息保存目录、可以看到jenkins和zhangsan用户的
ll /var/lib/jenkins/users/
total 20
drwxr-xr-x  4 jenkins jenkins 4096 Feb 20 21:25 ./
drwxr-xr-x 13 jenkins jenkins 4096 Feb 21 01:12 ../
drwx------  2 jenkins jenkins 4096 Feb 19 17:26 jenkins_7982063869501129576/
-rw-r--r--  1 root    root     413 Feb 20 21:25 users.xml
drwx------  2 root    root    4096 Feb 20 21:28 zhangsan_2686717221047674272/
  1. 进到jenkins用户目录中、过滤出jenkins用户的密码、但是看到加密了
cat /var/lib/jenkins/users/jenkins_7982063869501129576/config.xml |grep passwordHash
      <passwordHash>#jbcrypt:$2a$10$opGzi44gglaWXl3HVByDWec4tX/zXGgT0gYZ1KN9Q97qsrsNxN43G</passwordHash>
  1. 到一个知道用户密码的配置文件中、把此行替换掉即可(如我现在知道zhangsan用户的)
#查看zhangsan的密码\到jenkins用户的文件中替换掉
cat /var/lib/jenkins/users/zhangsan_2686717221047674272/config.xml |grep passwordHash
      <passwordHash>#jbcrypt:$2a$10$r6U.g0zfPuKBmITEJu7jVO76SX6Mrl2BjSjIUy5TgXsXUqr0T3n1.</passwordHash>
  1. 先备份!!!再替换掉
cp /var/lib/jenkins/users/jenkins_7982063869501129576/config.xml /opt/config.xml.bak

cat /var/lib/jenkins/users/jenkins_7982063869501129576/config.xml |grep passwordHash
      <passwordHash>#jbcrypt:$2a$10$r6U.g0zfPuKBmITEJu7jVO76SX6Mrl2BjSjIUy5TgXsXUqr0T3n1.</passwordHash>
  1. 重启服务
systemctl restart jenkins

3. jenkins邮箱设置

jenkins主页-系统管理

图片.png

图片.png

图片.png

图片.png

检查Email Extension Plugin插件是否安装

图片.png

使用管理员账号-系统管理-系统设置

Jenkins Location

图片.png

Extended E-mail Notification

图片.png

邮件通知

图片.png

测试邮件已收到

图片.png

在jenkins界面操作

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

收到邮件通知

图片.png

4. 到gitlab非交互方式拉取代码

图片.png

图片.png

图片.png

图片.png

5. 将代码部署至后端服务器

图片.png

图片.png

#进到目录
cd /var/lib/jenkins/workspace/linux01-web1
#打包当前目录下所有、并命名为'app.tar.gz'
tar czvf app.tar.gz ./*
#拷贝到远程主机的tomcat用户中
scp app.tar.gz tomcat@192.168.37.105:/data/tomcat/tomcat_appdir
scp app.tar.gz tomcat@192.168.37.106:/data/tomcat/tomcat_appdir
#远程停止tomcat服务
ssh tomcat@192.168.37.105 "/etc/init.d/tomcat stop"
ssh tomcat@192.168.37.106 "/etc/init.d/tomcat stop"
#删除源文件&&软链接
ssh tomcat@192.168.37.105 "rm -rf /data/tomcat/tomcat_webdir/app && rm -rf /data/tomcat/tomcat_webapps/app1"
ssh tomcat@192.168.37.106 "rm -rf /data/tomcat/tomcat_webdir/app && rm -rf /data/tomcat/tomcat_webapps/app1"
#创建目录
ssh tomcat@192.168.37.105 "mkdir -p /data/tomcat/tomcat_webdir/app"
ssh tomcat@192.168.37.106 "mkdir -p /data/tomcat/tomcat_webdir/app"
#解压到指定目录
ssh tomcat@192.168.37.105 "cd /data/tomcat/tomcat_appdir && tar xvf app.tar.gz -C /data/tomcat/tomcat_webdir/app"
ssh tomcat@192.168.37.106 "cd /data/tomcat/tomcat_appdir && tar xvf app.tar.gz -C /data/tomcat/tomcat_webdir/app"
#软链接(要写绝对路径)
ssh tomcat@192.168.37.105 "ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/app1"
ssh tomcat@192.168.37.106 "ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/app1"
#远程启动tomcat服务
ssh tomcat@192.168.37.105 "/etc/init.d/tomcat start"
ssh tomcat@192.168.37.106 "/etc/init.d/tomcat start"

立即构建【成功】

图片.png

图片.png

图片.png