如何触发Jenkins构建任务

定期构建 vs 轮询SCM

点击配置
在这里插入图片描述

在这里插入图片描述
查看构建触发器章节,查看定时构建和轮询和SCM两种方式触发项目构建。

定时构建

定时构建就是无论怎样,一个周期触发一次构建。这种方式会导致大量计算资源浪费。会导致jenkins负载线性增高。

轮询SCM

一种更好的方式是让jenkins轮询git远程仓库,这里的日程表就是配置轮询的频率。下图是每10分钟(这种方式我也无法理解)轮询一次,假如远程仓库有最新提交,构建任务才会触发。一般使用正规语法,后面会讲。
在这里插入图片描述

轮询语法

# 分钟 小时 每月几号 月份 每周周几
MINUTE HOUR DOM MONTH DOW

*代表匹配任何值,比如* * * * *是分钟轮询一次。

  • MINUTE 分钟 (0–59)
  • HOUR 小时(0–23)
  • DOM(day of the month) 每月几号 (1–31)
  • MONTH 月份 (1–12)
  • DOW(day of week) 周几 (0–7) 其中 0 和 7 是星期天.

有些骚一点的语法,可以尝试下:

  1. 表示范围
    比如DOW字段可以使用1-5代表除了周末。

  2. 间隔
    MINUTE字段*/5代表每隔5分钟。

  3. 快捷特殊值

“@yearly”, “@annually”, “@monthly”, “@weekly”,
“@daily”, “@midnight”, and “@hourly”.

手动触发

手动触发就是你发送一条http请求就可以触发项目构建了。

  1. 首先要知道管理员的账号密码,然后在这里设置token
    在这里插入图片描述
  2. 然后使用curl和get请求jenkins的http接口
  • 使用脚本请求
    这里是鄙人的小脚本,怎么使用的呢?
    第一个参数传你的项目名,第二参数传token,第三个参数传用户账号和密码,用:隔开。比如:
bash manual-remote-trigger.sh simpe-proof oneslide oneslide:icywater

脚本内容如下:

function check_curl(){
  curl --version > /dev/null
  if test $? -ne 0
  then
    echo "you need curl installed"
    return 1
  fi
}

check_curl
if [ $? -eq 1 ]
then
   exit 1
fi

PROJECT_NAME=$1
JENKINS_URL=http://192.168.3.213:8080
PROJECT_BUILD_PATH=job/$PROJECT_NAME/build

echo "request url:" $JENKINS_URL/$PROJECT_BUILD_PATH 

if [ ! -z $2 ]
then
 echo "using token" 
 curl -u $3 $JENKINS_URL/$PROJECT_BUILD_PATH?token=$2
else
 curl $JENKINS_URL/$PROJECT_BUILD_PATH
fi
  • 直接请求
    摆脱一切花里胡哨,直接请求也可以:
curl -u username:password \
$jenkins_url/job/$project_name/build?token=$token
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值