Jenkins触发器_ 钩子及项目构建关联(小节7)

377 阅读2分钟

1. 触发器_钩子(不要在生产中用)

改名 图片.png

jenkins安装插件【Gitlab Hook和Gitlab Authenticattion】

  • 在jenkins 系统管理-全局安全配置,认证改为登录用户可以做任何事情

图片.png

  • 取消跨网请求伪造保护的勾选项(如果没有此选项、用下面问题1方法解决)

    • 问题1 图片.png
    • 解决方法

jenkins新版本没有配置CSRF禁用的选项。可以在jenkins脚本命令行执行下面大代码:

图片.png

hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

图片.png

  • Gitlab Hook Plugin 以纯文本形式存储和显示Gitlab API令牌

配置构建触发器

develop 图片.png

生成token认证:

openssl rand -hex 12
7cf56e1e67c37b5282b8c412

图片.png

图片.png

#进到目录
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 系统钩子 图片.png

图片.png 测试

图片.png 结果

图片.png

105

su - root
cd /opt
#克隆
git clone -b develop http://192.168.37.101/linux01/web1.git
cd web1/

图片.png

#修改信息
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

图片.png

2. 构建后项目关联(简单来说就是运行A后激活了B)

用户多个job相互关联,需要串行执行多个job的场景,可以通过安装插件 Parameterized Trigger触发执行其他project。

安装插件

图片.png

新建任务master

图片.png

配置linux01-web1-master

图片.png

图片.png

#进到目录
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

图片.png

图片.png

图片.png

develop构建完成后、会激活master。

图片.png

图片.png

简单来说就是运行A后激活了B。