前期准备
1.CentOS服务器
2.Jenkins
3.github账号
4.Nginx
这里Nginx的配置就不多说了,有兴趣的话可以参考前面的文章
服务器环境配置
1 | wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo |
下载安装java和git依赖包
1 | yum install java |
登录服务器生成ssh key
1 | // 设置提交用户名和邮箱 |
一路回车后就成功生成了
测试一下ssh是否能成功使用
1 | ssh github.com |
出现下面情况代表可以正常使用
最后:拷贝服务器中的公钥添加到github中
什么是jenkins呢?
Jenkins是一个独立的开源自动化服务器,可用于自动执行与构建,测试,交付或部署软件相关的各种任务。
Jenkins可以通过本机系统软件包,Docker安装,甚至可以由安装了Java Runtime Environment(JRE)的任何机器独立运行。
安装Jenkins
1 | yum install jenkins |
Jenkins配置
1 | // 进入Jenkins配置文件地址: |
Jenkins配置文件中的几个重要的参数
1 | JENKINS_HOME="/var/lib/jenkins" // Jenkins存储配置和工作的目录 |
启动Jenkins
1 | service jenkins restart |
启动成功后我们在浏览器中输入ip地址和端口号,进入解锁页面
输入密码后,继续进入下一步,进入新手页面。
选择第一个推荐插件安装
安装中…
创建管理员用户
实例配置
创建任务
构建一个自由风格的软件项目
安装两个插件
系统管理>插件管理>可选插件中搜索并安装,安装成功后需要重启
1 | // 部署项目时需要执行node安装依赖 |
进入 系统管理 => 系统设置页面配置
Jenkins Location
Jenkins服务器地址
Publish over SSH配置
这里有一点容易出错:
Jenkins服务器(A)
应用服务器(B)
应用服务器(B)上创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并将jenkins服务器(A)的公钥id_rsa.pub中的内容复制到authorized_keys文件
应用服务器上重启ssh服务,service sshd restart
现在jenkins服务器可免密码直接登陆应用服务器
开始任务配置
源码管理的凭据和 api的凭据不是一样的,apiv5的凭据是插件调用码云接口使用的,而源码管理的凭据是jenkins git插件要求的,这> 个凭据格式是用户名密码,如果用的是http的协议需要在凭据管理中再配置一个码云用户名密码的凭据,这样才能选上,如果是ssh 的话> 需要jenkins的机器的ssh key 加入到码云账号中才行