项目理念 |多功能Jenkins CLI
项目名称:多功能Jenkins CLI
介绍:
Jenkins是一个独立的开源自动化服务器,可用于自动化与构建、测试和交付或部署软件相关的各种任务。
本文的目标是创建一个用户友好的 CLI,无需任何外部依赖项来实现Jenkins的基本功能。它使用 Linux 风格的命令来操作以下功能。
- 保存配置文件
- 列出特定凭证的所有作业
- 构建特定作业(参数化和非参数化)
- 为特定工作建立历史
- 显示特定作业和特定内部版本号的输出控制台。
图表:
使用的工具:
- Jenkins软件
- Pylint 用于改进Python脚本的性能和文档
- JenkinsHTTP API
- 单元测试用例:检查特定函数的极端情况和多功能性。
- Curl 命令:检查特定 API 的正确性和有效性
以下功能的 API:
- 保存配置文件:
Jenkins-URL + “/job/” + JOBName + “/config.xml”
- 列出工作:
Jenkins-URL+ “/api/json?tree=jobs[name]”
- 建立工作:
- 未参数化的工作:
Jenkins-URL + “/job/” + JOBName + “/build”
- 参数化作业:
Jenkins-URL + “/job/” + JOBName + “/buildWithParameters?” + parametervalue
- 未参数化的工作:
- 构建历史:
Jenkins-URL + “/job/” + JOBName + “/api/json?tree=allBuilds[*]”
- 显示特定作业的输出控制台:
Jenkins-URL + “/job/” + JOBName + “/” + BuildNumber + “/logText/progressiveText?start=0”
应用:
这个项目可以在任何地方使用,即在 Windows 和 Linux 操作系统中,因为Python脚本没有任何类型的外部依赖。这是一个用户友好的界面,因为只需使用某些适当的命令,我们就可以访问特定作业的全部详细信息,而无需实际使用Jenkins软件。
- Github 存储库链接: https://github.com/viralivora/Jenkins-CLI
- 做过的研究工作:
- 了解Jenkins API,因为 API 没有很好的文档记录。
- 浏览 HTTP 协议和 HTTP RFC
- 卷曲命令
进一步了解的相关文章:
- https://tools.ietf.org/html/rfc2616
- https://wiki.jenkins.io/display/JENKINS/Remote+access+API
注意:此项目创意由Virali Vora为 ProGeek Cup 2.0 贡献 - GeeksforGeeks 的项目竞赛。