Gitlab+jenkins持续集成+自动化部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gitlab+jenkins持续集成+自动化部署相关的知识,希望对你有一定的参考价值。

搭建gitlab+Jenkins自动化部署
在jenkins上安装插件 Build Authorization Token Root Plugin、 Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、
在系统管理-->系统设置里面找到Publish Over SSH 添加gitlab私钥
技术分享图片
在要部署代码的服务器里面生成私钥及公钥

[[email protected] ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:skz81E/KWAZRvtZptH4kYwkQoUth0kfP5jGoAyYPdA0 [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+
|  . E+o.*+.      |
| . . ooo.B       |
|  o o o.o O .    |
|   = + o = B +   |
|    . B S B @ .  |
|     o * * B +   |
|      o o o o .  |
|             .   |
|                 |
+----[SHA256]-----+
在./ssh文件中将公钥复制到authorized_keys文件中
[[email protected] .ssh]# cat id_rsa.pub >> authorized_keys

技术分享图片
点击高级 将要部署代码的服务器用户私钥复制到下面Key里面
技术分享图片
在jenkins生成身份验证令牌
技术分享图片
[[email protected]node2 ~]# openssl rand -hex 12
414459b49acb463d9ebea02e
技术分享图片
技术分享图片
技术分享图片
技术分享图片

此时去gitlab里面配置钩子
插件使用介绍,https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin
http://jenkins服务器地址:8080/buildByToken/build?job=项目名&token=token值
我填写的:
http://192.168.1.215:8080/buildByToken/build?job=test&token=414459b49acb463d9ebea02e

技术分享图片
如果出现下面错误 不允许向本地网络发出请求,这是因为在本地网络配置的
技术分享图片
解决方法:
技术分享图片
点击测试
技术分享图片
出现HTTP 201则成功
Hook executed successfully: HTTP 201
然后就可以测试了,在Git客户端提交代码到gitlab服务端,就可以看到jenkins自动构建代码
然后就可以刷新网页查看是否更新

[[email protected] test]# cat index.html 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<h1>Gitlab+Jenkins持续集成部署完成</h1> 
</body>
</html>
[[email protected] test]# git add *
[[email protected] test]# git commit -m "add index.html"
[master 6ecccfe] add index.html
 1 file changed, 1 insertion(+), 3 deletions(-)
[[email protected] test]# git push origin master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 415 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:root/test.git
   93847ef..6ecccfe  master -> master

查看控制台输出,看到Finished: SUCCESS
表示成功
技术分享图片
查看部署的服务器网站
技术分享图片
如果发现网站是空的
解决办法: 前提不建议怎么做,因为后期可能会出现问题,希望你查找原因或者重新配置一下构建!!!
技术分享图片
删除刚才构建的步骤
技术分享图片

以上是关于Gitlab+jenkins持续集成+自动化部署的主要内容,如果未能解决你的问题,请参考以下文章

Linux-GitLab+Jenkins持续集成+自动化部署

Gitlab+jenkins持续集成+自动化部署

持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]

1.GitLab和Jenkins 结合构建持续集成(CI)环境

GitLab+Jenkins结合构建持续集成(CI)环境

gitlab+jenkins 自动化部署 持续集成