1. Jenkins獲取運行job的用戶名
需要安裝user build vars plugin 插件,然后就可以取到$BUILD_USER_ID變量。
user build vars plugin下載地址:
https://wiki.jenkins-ci.org/display/JENKINS/Build+User+Vars+Plugin
可以使用的用戶變量:
Property | Default |
---|---|
BUILD_USER | Full name (first name + last name) |
BUILD_USER_FIRST_NAME | First name |
BUILD_USER_LAST_NAME | Last name |
BUILD_USER_ID | Jenkins user ID |
BUILD_USER_EMAIL | Email address |
在jenkins任務中使用構建變量:注意需要勾選 "Set jenkins user build variables."
- 對jenkins依賴hive啟動腳本添加username和jobname參數:就可以使通過hive執行的任務可以上傳該參數。
HIVE_OPTS="$HIVE_OPTS --hiveconf scheduler.job.submit.username=${BUILD_USER_ID} --hiveconf scheduler.job.submit.jobname=${JOB_NAME} --hiveconf hive.aux.jars.path=${AUX_PARAM}"
- 缺陷:當job是定時執行的時候,獲取不到jenkins登錄用戶名。
解決方案:可以通過分析job的歷史任務,得到沒個job的首次執行登錄用戶名,和末次執行的登錄用戶名,進行job的歸屬者。