Linux下Jenkins 安装方式很多,源码包(WAR 文件)安装,镜像服务安装,yum命令安装等
命令安装最简单,其他方式可以自己baidu
安装步骤如下
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins2, 修改配置
# 修改端口 vim /etc/sysconfig/jenkins3,启动命令
service jenkins start 启动 service jenkins stop 停止 service jenkins restart 重启4,首次登录
第一次登录需要密码,根据提示:
cat /var/lib/jenkins/secrets/initialAdminPassword
首次登录,需要下载一些插件,可以使推荐的插件,也可以自己选择下载
安装完成后,自动进入管理账户注册页面,注册好了,进入登录页面
工作中我们会想通过http方式运行Jenkins job,这样就不需要每次都进入jenkins的页面操作了,而且可以统一集成。
在Jenkins官网上的Python-Jenkins API。
Python-Jenkins官网:https://pypi.python.org/pypi/python-jenkins/
Python-Jenkins Doc:http://python-jenkins.readthedocs.io/en/latest/index.html
pip install python-jenkins2,基本使用
import jenkins
# 登录jenkins
server = jenkins.Jenkins('http://192.168.59.149:8080', username='user', password='password')
# 构建参数化job
server.build_job('jobname', {'param1': 'aaa', 'param2': 'bbb'})
3,项目封装
import jenkins
import logging
# 日志格式设置
logger = logging.getLogger('jenkins')
class JenkinsDevOps:
def __init__(self, jenkins_info_dict):
self.url = jenkins_info_dict["url"]
self.username = jenkins_info_dict["username"]
self.password = jenkins_info_dict["password"]
self.jenkins_server = jenkins.Jenkins(url=self.url, username=self.username, password=self.password)
def determine_job(self, job_name):
"""
检测项目是否存在
:param job_name: 项目名称
:return:
"""
return self.jenkins_server.get_job_name(job_name)
def build_job(self, job_name, parameters=None):
"""
:param job_name: name of job
:param parameters: parameters for job, or ``None``, ``dict``
:return:
"""
self.jenkins_server.build_job(job_name, parameters=parameters)
def get_last_success_build(self, job_name):
"""
获取上次成功的构建
:param job_name:
:return:
"""
number = self.jenkins_server.get_job_info(job_name)["lastSuccessfulBuild"]["number"]
return number
def stop_job(self, job_name, number):
"""
获取构建结果的日志
:param job_name: 项目名称
:param number: 构建号
"""
self.jenkins_server.stop_build(job_name, number)
def create_job(self, data):
"""
新建项目job
:param data: 包含job新建格式文本config.xml
:return:
"""
res = self.jenkins_server.create_job('app-run', open(data['config_xml'], encoding='utf-8').read())
return res
if __name__ == '__main__':
my_parameters = {"branch": "test", "item": "my_test_item"}
my_jenkins_dict = {"url": "https://jenkins.xxx.cn/",
"username": "admin", "password": "xxxxxxxx"}
item_name = "test-slave"
# jenkins_main(my_jenkins_dict, item_name, my_parameters)
4,job新建格式文本config.xml
[ false Branch 分支 dev false Version 版本号 7.0.0-devops false 2 http://gitlab.com/hermes/system/app-job.git e11f0f10-d1a9-4d36-86b5-9184051c8cc5 $Branch false true false false false false bash /opt/newcicd/scripts/java_build_job.sh



