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环境变量
#! /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是蓝色的,如下:


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

被折叠的 条评论
为什么被折叠?



