永不落伍 发表于 2018-9-16 08:47:16

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

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

  在要部署代码的服务器里面生成私钥及公钥
  

# 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>  
Your public key has been saved in /root/.ssh/id_rsa.pub.
  
The key fingerprint is:
  
SHA256:skz81E/KWAZRvtZptH4kYwkQoUth0kfP5jGoAyYPdA0 root@node2
  
The 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>  


  点击高级将要部署代码的服务器用户私钥复制到下面Key里面

  在jenkins生成身份验证令牌

  # 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自动构建代码
  然后就可以刷新网页查看是否更新
  

# cat index.html  

  

  

  
  Document
  

  

  
Gitlab+Jenkins持续集成部署完成
  

  

  
# git add *
  
# git commit -m "add index.html"
  
add index.html
  1 file changed, 1 insertion(+), 3 deletions(-)
  
# 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 git@192.168.1.121:root/test.git
  93847ef..6ecccfemaster -> master
  

  查看控制台输出,看到Finished: SUCCESS
  表示成功

  查看部署的服务器网站

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

  删除刚才构建的步骤



页: [1]
查看完整版本: Gitlab+jenkins持续集成+自动化部署(三)