文章资讯
云原生:Jenkins构建服务器的安装准备
2022-07-30 23:56  浏览:1

基于Jenkins的CI/CD流程

前文《云原生:DevOps理念下的CI/CD究竟是指什么?》介绍了持续集成和持续交付的基本概念,Jenkins是CI/CD流程的核心。

基于Jenkins的CI流程:开发push代码到gitlab,触发Jenkins自动pull代码,通过maven编译、打包,然后执行shell脚本构建docker镜像,并将镜像push到容器镜像仓库。

基于Jenkins的CD流程:当需要部署服务时,Jenkins服务器上再执行SSH命令登录到部署服务器,从镜像仓库中拉取镜像文件,启动容器,完成整个部署流程。

本文重点介绍Jenkins服务器的安装过程。

准备工作

安装git,用于从Gitlab上拉取代码。

yuminstall -y git

安装sshpass,一个免交互的SSH登录工具,用于登录Slave节点。

yuminstall -y sshpass

安装wget,下载工具,用来下载axel。

yuminstall -y wget

安装多线程下载工具axel,下载jenkins用到。

wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/a/axel-2.4-9.el7.x86_64.rpmrpm -ivh axel-2.4-9.el7.x86_64.rpm

安装rsync,文件同步工具。

yuminstall rsync

创建项目测试时会用到的日志目录

mkdir -p /data/logs/mall

配置Docker镜像仓库地址

在需要上传或下载镜像的服务器上,机器所在的docker环境都需要配置私有镜像仓库地址,构建服务器要上传镜像、应用部署服务器要下载镜像。

# 修改daemon.json

vim/etc/docker/daemon.json

#在原有配置基础上,加上如下内容:

{ “registry-mirrors”: [“https://xxx.mirror.aliyuncs.com”], #阿里云镜像加速”insecure-registries”:[“192.168.0.123”] #私有镜像仓库}

添加完重启docker

systemctldaemon-reloadsystemctlrestart docker

下载安装Jenkins

下载jenkins安装包。

axel -n 20http://mirrors.jenkins-ci.org/war/2.327/jenkins.war

启动jenkins。

java -jar jenkins.war –httpPort=8888

如果是自有机房,关闭防火墙。如果是云服务器,则配置端口放行。

systemctlstatus firewalldsystemctlstop firewalld

修改jenkins配置,用于插件站点更新,加速联网。

vim ~/.jenkins/hudson.model.UpdateCenter.xml

将XML内的url的值替换为:

http://mirror.xmission.com/jenkins/updates/update-center.json

访问Jenkins

浏览器访问jenkins,提示输入密码,根据页面提示查看密码的方式获取密码并登录,一般用cat命令查看。

cat/root/.jenkins/secrets/initialAdminPasswordcat/data/jenkins_data/secrets/initialAdminPassword

密码输入正确后提示插件的选择,可以直接忽略跳过即可看到首页

Jenkins首页

页面左上角jenkins->people->admin->configure进行修改管理员密码。修改完后,跳转到登录页,输入用户名密码即可正常登录。

Jenkins开机自启动

首先实现用脚本来启动Jenkins,然后再把启动脚本添加到/etc/rc.d/rc.local 中,这个文件是系统启动加载文件。

(1)切换到root 用户下。

suroot

(2)创建jenkins新的工作目录。

mkdir /data/jenkins_data

(3)通过脚本启动。

cd/rootvimjenkins.sh

(4)编辑脚本内容。

#!/bin/bashexportJAVA_HOME=/usr/local/java/jdk1.8.0_261/ exportJENKINS_SERVER_PATH=/root exportJENKINS_HOME=/data/jenkins_data cd${JENKINS_SERVER_PATH}nohup java -jar jenkins.war –httpPort=8888 >jenkins.log 2>&1 &

(5)添加脚本执行权限。

chmod+xjenkins.sh

退出root用户。

exit

(6)设置开机执行:

vim /etc/rc.d/rc.local

在文件最后添加如下启动命令:

suroot -c “/root/jenkins.sh”

检查 shell脚本是否可以正常工作。关闭jenkins, 执行:

suroot -c “/root/jenkins.sh”

看jenkins是否能启动 。

(7)如没有问题,添加启动加载文件的执行权限。

chmod +x /etc/rc.d/rc.local

(8)重启服务器,注意这是高危操作, 执行前要确保没有严重后果。

reboot

重启完再次访问jenkins,发现启动成功。

这样我们就完成了Jenkins构建服务器的安装,接下来可以配置CI/CD的流程了。