Jenkins简介
Jenkins是基于java开发的一种持续集成的那个工具,用于监控持续重复的工作。
Jenkins 安装方法
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update -y
sudo apt-get install jenkins -y
安装完之后需要将
Jenkins配置
我们团队使用的 Jenkins + gitlab + docker + Ubuntu:14.04 架构的持续集成模式
一、
在安装完Jenkins之后,我们通过网页打开:http://IP:8080,会提示需要安装哪些依赖,然后选择自己需要的插件安装。
注:现在有些高版本的Jenkins是需要先输入密码的,但是这个密码很长。我们可以在/var/lib/jenkins/users/xiaocai/config.xml文件中修改:
<passwordHash> #jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS //这个密码是111111
</passwordHash>
sudo service jenkins restart
二、
登录进入之后需要创建一个新的项目:
步骤:新建->输入项目名称->选择“构建一个自由风格的软件项目”->点击“OK”按钮。
创建完新的项目之后需要配置:
步骤:选择配置->在“源码管理”的git中将gitlab上的项目的URL(形如ssh://git@IP:port/xxx/xxxx.git)加入到repository URL中,如果出现了permission denied(publickey)……或者 Command “/usr/local/git/bin/git -c core.askpass=true ls-remote -h xxxxxxxx.git HEAD” return status code 128:
是因为运行jenkins用户没有生成ssh私钥,且没有添加到gitlab中。
解决方法:
sudo su jenkins
ssh-keygen -t rsa -C “xxx&email”
cat ~/.ssh/id_rsa.pub
将生成的秘钥加入到gitlab->Profile Settings-> SSH Keys->Add an SSH key
接着是监听gitlab上项目的prd分支。(可以根据自己的需要使用)->设置轮询(Poll SCM)的时间(形如这个样子的* * * * *)-> 设置构建脚本(Execute shell):
#!/bin/sh
id
set +e
cd /var/lib/jenkins/workspace/xxx/app
sudo docker build -t registry.xxxx.com/xxxx:0.1 .
sudo docker push registry.xxxx.com/xxx:0.1
之后需要在全局设置中配置SSH:系统管理->系统设置->SSH remote hosts->填写需要填写的信息,可以填写多个服务器的信息。