Gitlab+jenkins持续集成+自动化部署(三)
搭建gitlab+Jenkins自动化部署在jenkins上安装插件 Build Authorization Token Root Plugin、 Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、
在系统管理-->系统设置里面找到Publish Over SSH 添加gitlab私钥
https://s4.51cto.com/images/blog/201807/11/70f32e1e5746d67109f12f150098025c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
在要部署代码的服务器里面生成私钥及公钥# 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:+-------+|. E+o.*+. || . . ooo.B ||o o o.o O . || = + o = B + || . B S B @ .|| o * * B + || o o o o .|| . || |+---------+在./ssh文件中将公钥复制到authorized_keys文件中# cat id_rsa.pub >> authorized_keyshttps://s4.51cto.com/images/blog/201807/11/0046cbc3c103e2074dd41b49a7cc9a9a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
点击高级 将要部署代码的服务器用户私钥复制到下面Key里面
https://s4.51cto.com/images/blog/201807/11/dfd4c82cd964450fdef3928ed0182790.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
在jenkins生成身份验证令牌
https://s4.51cto.com/images/blog/201807/11/2a85d5a77e8567805f84d7e1eb818114.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
# openssl rand -hex 12
414459b49acb463d9ebea02e
https://s4.51cto.com/images/blog/201807/11/b56c562bf0a8069a0d982853b08bb72e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s4.51cto.com/images/blog/201807/11/dbac54d16778c2664ff520a5f4225538.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s4.51cto.com/images/blog/201807/11/9f01c1c98f887a31b30c1b263c507857.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s4.51cto.com/images/blog/201807/11/7ba789ae03dddad95a261a39901efa97.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=此时去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=414459b49acb463d9ebea02ehttps://s4.51cto.com/images/blog/201807/11/cb5ba4f9b8abd20c530e9bae5119e518.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
如果出现下面错误 不允许向本地网络发出请求,这是因为在本地网络配置的
https://s4.51cto.com/images/blog/201807/11/8b890d696fdcc06a387e929cc736adc9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
解决方法:
https://s4.51cto.com/images/blog/201807/11/1c0b88123d0aaf06ba9963fe1018a4af.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
点击测试
https://s4.51cto.com/images/blog/201807/11/6a6e09f5aa843b1aaff21c0c3fd145c2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
出现HTTP 201则成功
Hook executed successfully: HTTP 201
然后就可以测试了,在Git客户端提交代码到gitlab服务端,就可以看到jenkins自动构建代码
然后就可以刷新网页查看是否更新# cat index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body><h1>Gitlab+Jenkins持续集成部署完成</h1> </body></html># git add *# git commit -m "add index.html" add index.html 1 file changed, 1 insertion(+), 3 deletions(-)# 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..6ecccfemaster -> master查看控制台输出,看到Finished: SUCCESS
表示成功
https://s4.51cto.com/images/blog/201807/11/e2886a00cfae5cce770ad5b8b7d6e640.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
查看部署的服务器网站
https://s4.51cto.com/images/blog/201807/11/d04abcb1a03e0a6e7dba42e863b4154c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
如果发现网站是空的
解决办法: 前提不建议怎么做,因为后期可能会出现问题,希望你查找原因或者重新配置一下构建!!!
https://s4.51cto.com/images/blog/201807/11/576744f3bbd58f676c560492f4387ac9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
删除刚才构建的步骤
https://s4.51cto.com/images/blog/201807/11/550e9004e987df65380047852615ea80.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=摘自:https://blog.51cto.com/12832314/2140311
页:
[1]