highlight: androidstudio
theme: mk-cute
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/
2. 进到jenkins用户目录中、过滤出jenkins用户的密码、但是看到加密了 cat /var/lib/jenkins/users/jenkins_7982063869501129576/config.xml |grep passwordHash <passwordHash>#jbcrypt:$2a$10$opGzi44gglaWXl3HVByDWec4tX/zXGgT0gYZ1KN9Q97qsrsNxN43G</passwordHash>
3. 到一个知道用户密码的配置文件中、把此行替换掉即可(如我现在知道zhangsan用户的) ```
查看zhangsan的密码\到jenkins用户的文件中替换掉
cat /var/lib/jenkins/users/zhangsan2686717221047674272/config.xml |grep passwordHash
#jbcrypt:$2a$10$r6U.g0zfPuKBmITEJu7jVO76SX6Mrl2BjSjIUy5TgXsXUqr0T3n1.
4. `先备份!!!再替换掉`
cp /var/lib/jenkins/users/jenkins7982063869501129576/config.xml /opt/config.xml.bak
cat /var/lib/jenkins/users/jenkins_7982063869501129576/config.xml |grep passwordHash
#jbcrypt:$2a$10$r6U.g0zfPuKBmITEJu7jVO76SX6Mrl2BjSjIUy5TgXsXUqr0T3n1.
5. 重启服务
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/tomcatappdir scp app.tar.gz tomcat@192.168.37.106:/data/tomcat/tomcatappdir
远程停止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/tomcatwebdir/app && rm -rf /data/tomcat/tomcatwebapps/app1" ssh tomcat@192.168.37.106 "rm -rf /data/tomcat/tomcatwebdir/app && rm -rf /data/tomcat/tomcatwebapps/app1"
创建目录
ssh tomcat@192.168.37.105 "mkdir -p /data/tomcat/tomcatwebdir/app" ssh tomcat@192.168.37.106 "mkdir -p /data/tomcat/tomcatwebdir/app"
解压到指定目录
ssh tomcat@192.168.37.105 "cd /data/tomcat/tomcatappdir && tar xvf app.tar.gz -C /data/tomcat/tomcatwebdir/app" ssh tomcat@192.168.37.106 "cd /data/tomcat/tomcatappdir && tar xvf app.tar.gz -C /data/tomcat/tomcatwebdir/app"
软链接(要写绝对路径)
ssh tomcat@192.168.37.105 "ln -sv /data/tomcat/tomcatwebdir/app /data/tomcat/tomcatwebapps/app1" ssh tomcat@192.168.37.106 "ln -sv /data/tomcat/tomcatwebdir/app /data/tomcat/tomcatwebapps/app1"
远程启动tomcat服务
ssh tomcat@192.168.37.105 "/etc/init.d/tomcat start" ssh tomcat@192.168.37.106 "/etc/init.d/tomcat start" ``` 立即构建【成功】