自动化运维持续集成(CI)和持续发布(CD)系列·Jenkins

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

精彩评论

1+8=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏