|
搭建gitlab+Jenkins自动化部署
在jenkins上安装插件 Build Authorization Token Root Plugin、 Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、
在系统管理-->系统设置里面找到Publish Over SSH 添加gitlab私钥

在要部署代码的服务器里面生成私钥及公钥 [root@node2 ~]# ssh-keygen -t rsaGenerating 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 root@node2The 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文件中[root@node2 .ssh]# cat id_rsa.pub >> authorized_keys
点击高级 将要部署代码的服务器用户私钥复制到下面Key里面

在jenkins生成身份验证令牌

[root@node2 ~]# openssl rand -hex 12
414459b49acb463d9ebea02e



 
如果出现下面错误 不允许向本地网络发出请求,这是因为在本地网络配置的

解决方法:

点击测试

出现HTTP 201则成功
Hook executed successfully: HTTP 201
然后就可以测试了,在Git客户端提交代码到gitlab服务端,就可以看到jenkins自动构建代码
然后就可以刷新网页查看是否更新 [root@node1 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>[root@node1 test]# git add *[root@node1 test]# git commit -m "add index.html"[master 6ecccfe] add index.html 1 file changed, 1 insertion(+), 3 deletions(-)[root@node1 test]# git push origin masterCounting 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 git@192.168.1.121:root/test.git 93847ef..6ecccfe master -> master查看控制台输出,看到Finished: SUCCESS
表示成功

查看部署的服务器网站

如果发现网站是空的
解决办法: 前提不建议怎么做,因为后期可能会出现问题,希望你查找原因或者重新配置一下构建!!!

删除刚才构建的步骤
 |
|