系统环境:

  • Gitlab主机
    • IP:192.168.1.2
  • Jenkins主机
    • IP:192.168.1.3

1、为什么要作自动部署

 #为何要作自动部署,由于懒啊!!! #部署Tomcat的在这里:https://blog.51cto.com/bigboss/2155423 

2、配置Gitlab

 #首先,你得有一个代码仓库,赶忙到gitlab上建立一个,而后建立个分支并建立一个文件。 

Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署

 #其次,你得配置一个ssh公钥到gitlab上,这样才能模拟开发上传代码到gitlab。 #至于ssh公钥私钥怎么生成,本身百度去。 

Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署

#克隆代码仓库,而后测试是否可以上传代码到gitlab git clone git@192.168.1.2:root/test.git cd test/ echo 11111 > 1.txt git add . git commit -m "add 1.txt" git push 

Gitlab+Jenkins实现自动部署


3、配置Jenkins

#打开jenkins页面 #添加插件:系统管理 - 插件管理 #须要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter  #添加完插件重启jenkins,开始添加要部署代码的主机,注意必定是要可以ssh登录的用户。 #添加主机:系统管理 - 系统设置 找到Publish over SSH 

Gitlab+Jenkins实现自动部署

 #添加完主机以后,新建一个项目,开始配置构建操做 

Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署

 #配置gitlab,当有代码提交时,触发jenkins的部署操做 

Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署


4、测试提交代码是否会部署到远程主机

#再次克隆仓库 git clone git@192.168.1.2:root/test.git cd test/ echo '测试Jenkins' > index.html git add . git commit -m 'add index.html' git push #提交以后去jenkins页面看看 

Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署
Gitlab+Jenkins实现自动部署


小坑:

  • 错误提示:html

    #不少朋友使用最新版本的gitlab作自动部署时,在增长web钩子那一步, #点击test push events时会报错:Url is blocked: Requests to the local network are not allowed

    Gitlab+Jenkins实现自动部署

  • 解决方法:
    #这是由于新版的gitlab为了安全默认禁止了本地局域网地址调用web hook #咱们在设置里容许就行,具体步骤以下:

    Gitlab+Jenkins实现自动部署
    Gitlab+Jenkins实现自动部署