Centos 安装Jenkins 以及配合码云进行持续性测试部署
服务器为Centos7,并安装LNMP环境,因为牵扯到后期可能持续性修改调试代码,为了方便同步到服务器,经过运维同事的推荐,决定使用Jenkins。
Jenkins功能如下:Jenkins是一个独立的开源自动化服务器,可用于自动执行与构建,测试,交付或部署软件相关的各种任务.广泛用于自动化测试和持续集成.安装方式多种.
因为要安装java的sdk,因为需要对应版本,uname -a 查看了自己服务器竟然是i686,毕竟是买来测试用的
但是最新java se已经不支持了,搜索解决方案,发现可以yum 安装,这样可以忽略版本问题了
1、安装JDK
yum install -y java
2、安装jenkins
添加Jenkins库到yum库,Jenkins将从这里下载安装,我的是直接yum安装成功了
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins
如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)
wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
配置jenkis的端口,不冲突不用改,如果服务器使用宝塔等面板软件,记得放行该端口
vi /etc/sysconfig/jenkins
找到修改端口号:
JENKINS_PORT="8080" 此端口不冲突可以不修改
3、启动jenkins
三个命令,先使用jenkins start 启动
service jenkins start|stop|restart
- 安装成功后Jenkins将作为一个守护进程随系统启动
- 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
- 启动的时候将从/etc/sysconfig/jenkins获取配置参数
- 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
- Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo
4、打开jenkins
在浏览器中访问 你的域名,或者服务器IP地址后:8080(如果默认未修改)
首次进入会要求输入初始密码如下图,
初始密码在:
获取原始密码
cat /var/lib/jenkins/secrets/initialAdminPassword
然后进行默认或者自定义安装组件
在这里注意,如果你需要使用码云等,请选择性安装如下
添加一个远程主机ssh连接时的用户名和密码
添加一个jenkins连接到码云时,登录到码云的用户名和密码
注意了,目前jenkins不允许账号密码这种方式登录,你需要使用ssh,去码云上git@gitee.com-----复制代码仓
然后在服务器上部署公钥
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
# Generating public/private rsa key pair...
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key,同时也生成了私钥
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
完成后,在码云的项目公钥,或者个人公钥里添加,这个看个人权限而定
个人公钥允许多账号下所有仓库进行拉取和读写,而项目公钥只针对一个项目权限
参考这里https://gitee.com/help/articles/4181#article-header0
使用如下命令
ssh -T git@gitee.com
如果第一次提示输入yes后,提示正在添加在host允许列表,请在执行以上命令即可
首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。
完成后,jenkins拉取代码没问题,继续配置jenkins的认证,这里应该输入私钥
获取私钥,然后添加到jenkins的认证中
cat ~/.ssh/id_rsa
进行管理配置
点击保存即可
4、创建任务
将码云上的代码先同步到jenkins主机,再通过在远程主机上执行命令拷贝到远程主机上,并对之前的版本进行备份
注意,任务名称P1为git同步后到服务的一个目录名,同步到服务器完整的路径为:/var/lib/jenkins/workspace/P1/
这里要在jenkins主机安装git,配置远服务器
命令里是范例,git后在服务器的目录为 /var/lib/jenkins/workspace/p1/
你可以是用命令,来自行处理,比如备份或者替换到网站目录
有关提交代码到仓库就自动执行任务的话,参考该博客: