1. 触发器_钩子(不要在生产中用)
改名
jenkins安装插件【Gitlab Hook和Gitlab Authenticattion】
- 在jenkins 系统管理-全局安全配置,认证改为
登录用户可以做任何事情
-
取消跨网请求伪造保护的勾选项(如果没有此选项、用下面
问题1方法解决
) -
问题1
-
- 解决方法
jenkins新版本没有配置CSRF禁用的选项。可以在jenkins脚本命令行执行下面大代码:
hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
- Gitlab Hook Plugin 以纯文本形式存储和显示Gitlab API令牌
配置构建触发器
develop
生成token认证:
openssl rand -hex 12
7cf56e1e67c37b5282b8c412
#进到目录
cd /var/lib/jenkins/workspace/linux01-web1-develop
#打包当前目录下所有、并命名为'app.tar.gz'
tar czvf app.tar.gz ./*
#拷贝到远程主机的tomcat用户中
scp app.tar.gz tomcat@192.168.37.105:/data/tomcat/tomcat_appdir
#远程停止tomcat服务
ssh tomcat@192.168.37.105 "/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.105 "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.105 "ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/app1"
#远程启动tomcat服务
ssh tomcat@192.168.37.105 "/etc/init.d/tomcat start"
jenkins 系统钩子
测试
结果
105
su - root
cd /opt
#克隆
git clone -b develop http://192.168.37.101/linux01/web1.git
cd web1/
#修改信息
vim index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Linux01 项目1</title>
</head>
<body>
<h1>Linux01 web1 v5</h1>
<h1>Linux01 web1 v8</h1>
</body>
</html>
git config --global user.name "zhangsan"
git config --global user.email "1480765@qq.com"
git add ./*
git commit -m "v8"
#账号:zhangsan 密码:1234.com
git push
2. 构建后项目关联(简单来说就是运行A后激活了B)
用户多个job相互关联,需要串行执行多个job的场景,可以通过安装插件 Parameterized Trigger触发执行其他project。
安装插件
新建任务master
配置linux01-web1-master
#进到目录
cd /var/lib/jenkins/workspace/linux01-web1-master
#打包当前目录下所有、并命名为'app.tar.gz'
tar czvf app.tar.gz ./*
#拷贝到远程主机的tomcat用户中
scp app.tar.gz tomcat@192.168.37.106:/data/tomcat/tomcat_appdir
#远程停止tomcat服务
ssh tomcat@192.168.37.106 "/etc/init.d/tomcat stop"
#删除软链接&&源文件
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.106 "mkdir -p /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.106 "ln -sv /data/tomcat/tomcat_webdir/app /data/tomcat/tomcat_webapps/app1"
#远程重启tomcat服务
ssh tomcat@192.168.37.106 "/etc/init.d/tomcat restart"
配置linux01-web1-develop
develop构建完成后、会激活master。
简单来说就是运行A后激活了B。