Skip to content

Latest commit

 

History

History
121 lines (104 loc) · 3.7 KB

5.md

File metadata and controls

121 lines (104 loc) · 3.7 KB

Jenkins管理

之前管理了gitlab,现在管理jenkins,大概思路和gitlab一致
一个公司可能会有多个Jenkins,当然也可能只有一个
比如测试环境使用一个、线上环境使用一个,也可能统一使用同一个
其实我是希望线上环境单独使用一个jenkins的,防止因测试job过多,影响线上的部署
当前,也可以在同一个jenkins上,加多个node节点,
通过标签来控制线上任务在哪些上执行, 以此来分开

有关于jenkins job,都通过pipeline的形式创建,这样方便维护(只需要修改pipeline文件就可以改变)
还有一点要注意,job的参数最好不要在pipeline文件中定义,因为参数必须触发一次job才能生效
这样就导致,你在修改了参数后,必须先执行一下job才行,这样很不科学
因此参数都是在创建job时在界面上直接设置,这就要注意一点,这个参数尽可能的少
以免以后不好维护
一般参数:服务标识、环境标识、部署的版本或分支,其它可能用到的参数,通过接口获取

tag: 0.6.5

后端

涉及文件及目录

requirements.txt
utils/jenkins_cli.py
component/jenkins/models.py
component/jenkins/controllers/server.py
component/jenkins/apis/server.py
component/jenkins/urls/server.py
component/jenkins/controllers/job.py
component/jenkins/apis/job.py
component/jenkins/urls/job.py
component/jenkins/urls/__init__.py
component/urls.py
component/jenkins/controllers/sync.py
scheduler/tasks/berry.py
rurality/settings.py
data/sql/rurality.sql

代码

requirements.txt:
安装jenkins依赖,pip install -r requirements.txt

utils/jenkins_cli.py:
操作jenkins工具类,里面包含通过jenkins依赖库的操作,也有自己实现的操作

component/jenkins/models.py:
model分成三个,server、job、build
这样基本涵盖了我们以后所需要的功能
server通过超级管理员账号录入,job通过同步功能获取,build以后在服务部署中会有用处
有关build的log日志是很重要的一个内容,尤其是在任务失败的时候
在依赖库中只提供了获取所有日志输出的功能,但是一大坨不好看
通过抓取jenkins接口,发现有一个接口可以按步骤获取

component/jenkins/controllers/server.py
component/jenkins/apis/server.py
component/jenkins/urls/server.py

Jenkins服务相关接口

component/jenkins/controllers/job.py
component/jenkins/apis/job.py
component/jenkins/urls/job.py
component/jenkins/urls/__init__.py
component/urls.py

Jenkins job相关接口

component/jenkins/controllers/sync.py
scheduler/tasks/berry.py

同步Jenkins job操作

rurality/settings.py:
apps中增加jenkins

data/sql/rurality.sql:
导入最新的sql

前端

Jenkins Job只做了简单的列表页,并没有详情页面,目前还没有需求
但是之后可能会做详情页,展示历史构建过程

涉及文件及目录

src/api/component/jenkins/url.js
src/api/component/jenkins/index.js
src/views/system/jenkins_server/index.vue
src/views/system/jenkins_server/components/ObjDialog/index.vue
src/router/modules/system.js
src/views/component/jenkins/index.vue
src/router/modules/component.js

代码

src/api/component/jenkins/url.js
src/api/component/jenkins/index.js

相关接口

src/views/system/jenkins_server/index.vue
src/views/system/jenkins_server/components/ObjDialog/index.vue
src/router/modules/system.js

Jenkins服务管理功能界面

src/views/component/jenkins/index.vue
src/router/modules/component.js

Jenkins Job相关界面