Jenkins是一个开源的基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
访问官方网站
部署支撑软件
# 安装Jdk,基本运行环境 yum -y install java # 安装Git,代码环境支持 yum -y install git
安装Jenkins
访问官方安装源,添加Jenkins的yum源并执行安装:
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key yum -y install jenkins
配置文件/etc/sysconfig/jenkins,可以修改端口等参数等:
# 建议修改数据文件目录 JENKINS_HOME="/var/lib/jenkins" # 修改端口号,不能使用80端口 JENKINS_PORT="8080"
启动并配置开机自启:
systemctl start jenkins chkconfig jenkins on # 获取初始密码 cat /var/lib/jenkins/secrets/initialAdminPassword
复制初始密码后通过浏览器访问http://10.10.200.201:8080开启jenkins之旅。
选择安装推荐的插件或者选择插件来安装,建议至少安装Git、GitLab、GitLab Hook 和 Publish Over SSH等插件,实现在GitLab提交代码后由Jenkins自动获取代码后构建及部署到应用服务器。若是管理Java项目,还必须安装 Maven Integration 插件,好在都可以后期在插件管理面板中安装。
安装完毕后即可创建管理员账号并登录后台。
管理凭据
凭据管理需要 Credential Binding 插件的支持,默认安装。最常用的凭据类型有 GitLab API token、Username with password 和 SSH Username with private key,本文以SSH密钥凭据为例。
首先,生成密钥,在服务器上执行以下操作:
# 生成密钥对 # 按默认流程生成密钥对,路径在/root/.ssh/ ssh-keygen -t rsa # 获取私钥内容 cat /root/.ssh/id_rsa # 获取公钥内容 cat /root/.ssh/id_rsa.pub
然后,登录GitLab(一般用root账号),进入用户中心的“SSH Keys”设置页面,添加刚才生成的公钥。
最后,登录Jenkins,依次进入系统管理(Manage Jenkins)→凭据(Manage Credentials)→全局(unrestricted),设置“SSH Username with private key”凭证,在“Private Key”中添加刚才生成的私钥。
构建任务
现在开始创建一个新任务,以创建一个基于本地GitLab并自动发布到应用服务器的普通任务为例。
首先,输入一个任务名称,然后选择项目模板,选择构建一个自由风格的软件项目(Freestyle project),如果是Java项目请选择构建一个maven项目。
然后,在源码管理配置中填写代码库地址 Repository URL,即在GitLab中创建的项目地址,如:git@10.10.200.202:mygroup/olzl-net.git,然后选择对应的凭据,保存即可。
最后,在增加构建后操作步骤中选择Send build artifacts over SSH,填写应用服务器信息(在Jenkins系统设置中管理SSH服务器)、项目信息、操作脚本,保存任务。
进入该任务界面,点击立即构建(Build Now),构建成功之后,在主机的jenkins目录/var/lib/jenkins/workspace中可以看到生成的项目文件,并且自动同步到应用服务器。
原创文章禁止转载:技术学堂 » 自动化运维持续集成(CI)和持续发布(CD)系列·Jenkins