1.配置jenkins权限管理
基于角色的权限管理,先创建角色和用户,给角色授权,然后把用户关联到角色。
安装Role-based(基于角色的认证策略)
创建新用户
更改认证方式
jenkins主页-系统管理-全局安全配置
jenkins主页-系统管理
创建角色
分配角色
2. jenkins修改密码
102
- 用户信息保存目录、可以看到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/
- 进到jenkins用户目录中、过滤出jenkins用户的密码、但是看到加密了
cat /var/lib/jenkins/users/jenkins_7982063869501129576/config.xml |grep passwordHash
<passwordHash>#jbcrypt:$2a$10$opGzi44gglaWXl3HVByDWec4tX/zXGgT0gYZ1KN9Q97qsrsNxN43G</passwordHash>
- 到一个知道用户密码的配置文件中、把此行替换掉即可(如我现在知道zhangsan用户的)
#查看zhangsan的密码\到jenkins用户的文件中替换掉
cat /var/lib/jenkins/users/zhangsan_2686717221047674272/config.xml |grep passwordHash
<passwordHash>#jbcrypt:$2a$10$r6U.g0zfPuKBmITEJu7jVO76SX6Mrl2BjSjIUy5TgXsXUqr0T3n1.</passwordHash>
先备份!!!再替换掉
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>
- 重启服务
systemctl restart jenkins
3. jenkins邮箱设置
jenkins主页-系统管理
检查Email Extension Plugin插件是否安装
使用管理员账号-系统管理-系统设置
Jenkins Location
Extended E-mail Notification
邮件通知
测试邮件已收到
在jenkins界面操作
收到邮件通知
4. 到gitlab非交互方式拉取代码
5. 将代码部署至后端服务器
#进到目录
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"
立即构建【成功】