修改登陆Jenkins后session过期的时间

Jenkins的web默认会话30分钟过期,不过可以修改该值. 因为Jenkins使用Jetty,所以启动war包时,追加参数覆盖原配置即可-DsessionTimeout=<minutes>. 或者也可以配置文件方式,在Jenkins的配置目录下找到web.xml,路径是jenkins/var/WEB-INF/web.xml. 修改该文件,在中添加,值为session的过期分钟数,比如需要6个小时过期就填360. eg: <session-config> <session-timeout>360</session-timeout> </session-config>

Read More

用Python+AD域+GitLab 给Jenkins构建失败的项目负责人发送短信通知

流程 公司之前Jenkins的构建结果通知用的是微信公众号推送,但领导觉得短信更靠谱,想要改用短信通知.咱也不敢犟哪个更好,只是默默实现了这些需求. 所幸给公司搞得基建还算是比较全面,让每个员工都接入Windows AD域控,因此也就是说通过AD域接口,可以获取到员工的信息;而 Jenksin 和 GitLab 同样接入了AD域,因此思路流程是这样的: 实现 人生苦短,脚本的事情还是用 Python 分分钟实现. 用了第三方模块python-ldap,python-gitlab,python-jenkins,并且 SMS 的发送由阿里云提供,因此还用到了aliyun-python-sdk-core-v3. 如果 Jobs 用的是 Pipeline 或 Jenkinsfile ,则可以直接在构建流程中判断之前是否失败,但通常很多项目需要使用自由模式,那么就需要对每个阶段进行自定义的判断,这都是比较容易实现的. 根据当前 Job 获取 Git 仓库地址: import jenkins def get_git_by_job(jenkins_server:jenkins.Jenkins, job_name:str)->dict: config = jenkins_server.get_job_config(job_name) … “用Python+AD域+GitLab 给Jenkins构建失败的项目负责人发送短信通知”

Read More

用Python通过Jenkins View视图批量构建Jobs

这里用到了Jenkins的Python Module,所以先安装模块pip install python-jenkins。 废话少说。 # coding:utf-8 import jenkins def build_job_by_view(jenkins_server:jenkins.Jenkins,view_name:str): jobs = jenkins_server.get_jobs(view_name=view_name) for job in jobs: job_info = jenkins_server.get_job_info(name=job.get(‘name’)) if ‘com.cloudbees.hudson.plugins.folder.Folder’ == job_info.get(‘_class’): folder_jobs = job_info.get(‘jobs’) for folder_job in folder_jobs: full_jobname = job_info.get(‘fullName’) … “用Python通过Jenkins View视图批量构建Jobs”

Read More