微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gitlab+Jenkins实现自动部署

系统环境:

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

一、为何要做自动部署


#为什么要做自动部署,因为懒啊!!!
#部署Tomcat的在这里:https://blog.51cto.com/bigboss/2155423

二、配置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实现自动部署


三、配置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实现自动部署


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


#再次克隆仓库

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实现自动部署


小坑:

    • 错误提示

      #很多朋友使用最新版本的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实现自动部署

    •  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐