TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. CI/CD
  3. 正文

jenkins - api 实现自动化触发

2025年10月12日 727点热度 0人点赞 0条评论

关闭CSRF保护(crumb)

# 在jenkins的启动配置中添加参数:
-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

(1)使用容器运行的Jenkins

(1)进入容器,找到/usr/local/bin/jenkins.sh
(2)在该文件中的:
exec java -Duser.home="$JENKINS_HOME" ${FUTURE_OPTS} "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"  一行中,
 
增加:
-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
 
 
[root@ops_test ~]# docker exec -it jenkins-master /bin/bash
jenkins@d1fffdb3323:/$
jenkins@d1fffdb3323:/$ vi /usr/local/bin/jenkins.sh
#修改后内容如下:
......
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true ${FUTURE_OPTS} "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"
 
(3)配置完成后重启Jenkins容器

(2) 使用war包运行的Jenkins

直接在启动脚本里面添加
-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true 参数
 
export JENKINS_HOME=/mnt/jenkins_home
nohup java -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true -jar jenkins.war > /dev/null 2>&1 &
 
配置完成后,重新启动Jenkins

#### 通过 yum/dnf 下载的 jenkins 直接改
vim /usr/lib/systemd/system/jenkins.service
...
Environment="JAVA_OPTS=-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"
...

重启看到如下结果即可

创建两个job

创建用户token

我这个的token是: 116d2d2d830cce1085ddf23609ab53bd83

通过调用 jenkins api 触发流水线

# 触发 test-pip 
# curl -X POST \
     -u admin:116d2d2d830cce1085ddf23609ab53bd83 \
    "http://192.168.100.9:8080/job/test-pip/buildWithParameters?MY_PARAM=192.168.137.1-A"

# 触发 adhd-测试 (因为带有中文,所以需要将 adhd-测试 转码)
# python3 -c "import urllib.parse; print(urllib.parse.quote('adhd-测试'))"
adhd-%E6%B5%8B%E8%AF%95
# curl -X POST \
       -u admin:116d2d2d830cce1085ddf23609ab53bd83 \
      "http://192.168.100.9:8080/job/adhd-%E6%B5%8B%E8%AF%95/buildWithParameters?MY_PARAM=192.168.137.2-B&PA=36"

参数说明:

/job/test-pip/buildWithParameters?

job:固定值

test-pip:这个对应的是jenkins上的job名,(注意 有中文job名需要转码)

buildWithParameters: job参数化构建时需要用到(如果job无需参数化构建 build 即可)

?:后面即可传递参数值 多个用 & 分割

标签: 暂无
最后更新:2025年10月12日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 关闭CSRF保护(crumb)
  • 创建两个job
  • 创建用户token
  • 通过调用 jenkins api 触发流水线

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号