微服务架构持续集成:(三)Centos7 部署jenkins,并配置自启动

本文详细介绍了如何在Centos7上部署Jenkins并进行配置,包括安装Jenkins、设置自启动、配置插件如Maven、JDK、SSH,以及创建项目并连接Git进行持续集成。通过自动化脚本实现从代码拉取到打包部署的全程自动化。

3.1、后期代码部署简单说明

​ 后面将微服务的所有代码上传到github上面去,然后部署jenkins持续集成服务器,在jenkins上配置自动化部署的脚本。

​ 每次部署,都是在jenkins上执行构建,jenkins自动从github上面拉取代码,用maven打包,打成jar包,创建一个docker镜像,通过docker容器来部署spring cloud微服务,从而实现自动化流水线的方式部署所有的微服务。

3.2、部署jenkins

​ (1) 下载jenkins: http://updates.jenkins-ci.org/download/war/ ,下载最新版本

​ (2) 将jenkins.war放到/usr/local/jenkins中

​ (3) 执行以下命令,启动jenkins服务器

java -jar jenkins.war

​ (4) 访问8080端口,可以看到jenkins的界面,需要输入秘钥,在控制台可以找到秘钥,也可以在 /root/.jenkins/secrets/initialAdminPassword中找到。复制秘钥,进入界面

​ (5)点击界面上的 install suggested plugins,自动安装推荐的插件。

​ (6) 插件安装好后,在界面上创建一个管理员账户,save and finish

3.3、配置jenkins随机启动

前提是先安装好java环境变量

编写启动脚本start.sh

#! /bin/sh
JENKINS_ROOT=/usr/local/jenkins
java -jar $JENKINS_ROOT/jenkins.war --httpPort=8081

赋予权限

chmod +x start.sh

在/etc/init.d/下编写自动启动脚本jenkins

#! /bin/sh
# chkconfig: 2345 10 90 
# description: jenkins ....

JENKINS_ROOT=/usr/local/jenkins
JENKINSFILENAME=jenkins.war

stop(){
    echo "Stoping $JENKINSFILENAME "
	ps -ef|grep $JENKINSFILENAME |awk '{print $2}'|while read pid
	do
	   kill -9 $pid
	   echo " $pid kill"
	done
}

case "$1" in
start)
    echo "Starting $JENKINSFILENAME "
	nohup $JENKINS_ROOT/start.sh >> $JENKINS_ROOT/jenkins.log 2>&1 &
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
status)
  ps -ef|grep $JENKINSFILENAME
  ;;
*)
  printf 'Usage: %s {start|stop|restart|status}\n' "$prog"
  exit 1
  ;;
esac
chkconfig  jenkins on
chmod +x jenkins

启动方式

/etc/init.d/jenkins start

特别注意:如果此时安装出现下面网页,别慌!

在这里插入图片描述

解决办法,更改配置文件

vi /root/.jenkins/hudson.model.UpdateCenter.xml 

在这里插入图片描述

重启Jenkins(必须重启,否则不生效)

3.4. 插件配置

jenkins常用的插件:

Folders、OWASP Markup 、Build Timeout 、 Credentials Binding、 Timestamper Workspace Cleanup 、Ant、Gradle、Pipeline、 GitHub Branch Source 、Git、 LDAP、 SSH Slaves、Publish over SSH、Email Extension、Mailer…

在插件管理的available里面,选择/查找你要的插件,并安装
在这里插入图片描述

3.4.1. 配置Maven插件

“系统管理”–“全局工具设置—Maven 配置”

在这里插入图片描述

3.4.2. 配置JDK插件

“系统管理”–“全局工具设置”—“JDK安装”

在这里插入图片描述

3.4.3. 配置ssh key

这个Key用于访问git、访问“目标服务器”

(1)生成公钥

在Jenkins服务器上,-C后面的注释随便写,交互shell中不用管,一路回车就行

ssh-keygen -t rsa -C "jenkins@admin.com"

生成的公钥文件/root/.ssh/id_rsa.pub、私钥文件/root/.ssh/id_rsa.pub

(2)在代码服务器上配置公钥

为了ssh无密码访问(使用root用户),我们要把公钥注册到目标上

在Git服务器上,把公钥内容复制填进去,保存。

vi /root/.ssh/authorized_keys

如果使用的是github,在settings/keys中点击New SSH key添加

在这里插入图片描述

(3)在运行服务器上添加公钥

在目标服务器(见环境一节介绍)上,把公钥内容复制填进去,保存。

vi /root/.ssh/authorized_keys

(4)注册Jenkins SSH Server

主界面—系统管理—系统设置—Publish over SSH(在最下面)

在这里插入图片描述

Path to key 填私钥文件路径(公钥刚才已经传到目标服务器上了)

SSH Server,Name起一个名字,hostname填“目标服务器”IP,root登录,Remote Directory是部署的目录(/表示部署到根目录下),不懂的最右边有个问号可以点,有帮助。

3.4.4. 配置全局Git插件

配置全局Git插件,就是jenkins安装服务器上的git插件,jenkins要借助git插件,去git服务器拉取代码。

点击“系统管理” -> “全局工具配置”,找到Git插件配置

在这里插入图片描述

​ 填Name和Path to Git executeable(前提是在“插件管理”中已经安装Git插件)。

​ 如果不清楚自己的Git安装在哪个路径下,终端执行whereis git (这是linux命令,以上路径是linux下的路径,如果你的git是安装在windows下,就填写windows下的路径)。

3.5. 新建项目,并配置项目源码所在的Git服务器

​ 我们从github服务器上拉取代码为示例。

(1)新建任务

在这里插入图片描述

(2)输入任务名称,再点击构建maven项目,最后点击确定

在这里插入图片描述

(3)点击已创建的Job,比如上面所创建的futurecloud-eshop,点击“配置”

在这里插入图片描述

(4)“源码管理”配置

​ 我们以github管理源码为示例。

  • 在通用配置里面,填写GitHub项目URL

在这里插入图片描述

  • 填写源码管理,git拉取代码地址,用户名登录

在这里插入图片描述

  • 凭据配置

  • 类型选择:Username with password,输入你git服务器的Username和Password

在这里插入图片描述

  • 也可以选择使用SSH 私钥,选择SSH Username with private key

在这里插入图片描述

Kind:选择SSH Username with private key

Username:随便填写

Private Key:选择Enter directly

Key:系统生成的git id_rsa中的Key

(5)项目分支选择,选择git服务器上项目的分支,点击save保存

在这里插入图片描述

(6)在构建设置中,填写打包命令,保存(打包命令以公司svn配置为准)

在这里插入图片描述

​ 注:遇到的一些坑人的东西,不管你怎么配置,总是报错,如下图,如果遇到这个错误,则马上去检查全局工具配置中Git的路径是否正确,环境变量是否正确,如果都正确,还是报错,点击“源玛管理”中add,将Username with password,换成其它选项,然后取消,卧槽,正常了,吃惊

在这里插入图片描述

(7)配置完成后,在该项目下,点击立即构建

在这里插入图片描述

(8)在构建历史最新一个,右键选择控制台输出,查看构建过程。

如果构建失败,Console Output 是红色的,如下:

在这里插入图片描述

查看控制台输出内容,查找失败原因,并解决。

如果构建成功,Console Output是蓝色的,如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值