git代码提交后jenkins的构建与持续部署

一、实验环境图

 二、实验流程

  1、git本地更新代码后提交到git服务器。

  2、git服务器接收到代码提交后,触发jenkins钩子函数。

  3、jenkins接收到钩子函数后进行job构建。

三、实验步骤

  1、gitlab服务器上创建一个仓库。

    

  2、客户端从git服务器拉取仓库并进行代码更新。

    克隆仓库

    

    把文件更新到本地仓库中。

    

    把本地仓库push到gitlab仓库。

    

    此时能看到gitlab的仓库http_code上有相应的代码文件。

    

   3、jenkins创建项目构建。

    1)源码管理配置,用来配置从gitlab仓库里拉取代码。

       其中Repository URL为仓库的ssh地址。

        Credentials:凭据,由于是本次连接到gitlab用的是ssh方式,因此需要用到ssh凭据,图二是ssh凭据的配置,其中Passphrase为ssh密码。

         注意:gitlab需要配置远程服务器的ssh-key才能允许到gitlab上拉取代码

           步骤:点击个人头像->点击左侧有个ssh keys 然后添加远程服务器的公钥即可。

    

    

    2)配置触发构建函数。

     构建触发器配置:

     常用有两种:

      1)第一种:触发url访问构建,如图,如果访问http://192.168.174.129:8080/job/test/build?token=git即可触发构建,只要保证token的值和输入框的值一致就可。

      

      2)第二种:安装插件gitlab,在gitlab有提交动作后,即可自动触发任务。

       第一步:在jenkins配置如下信息,记住url和id

        

                             

      第二步:在gitlab上配置webhooks:

        点击http_code仓库的左侧的点击,然后选择webhooks,然后键入上文的url以及id,点击add webhook即可。

        

        注意:新版的gitlab可能应用添加了安全机制,无法直接配置webhook,需要做以下的配置:

          

  3、配置构建函数。

   

    这里我只是把拉下来的index.html文件移动到nginx目录下。

    并且在构建环境中勾选Delete workspace before build starts,用来在更新时候清理原来的文件,需确认是否需要备份。

四、测试结果

  点击项目立即构建。 

  然后访问192.168.174.129

    

  此时我git本地客户端修改index.html后,push到远程仓库,看看是否自动化完成替换。

  

  此时发现,jenkins确实能自动构建job,网页也能自动修改。

        

        

  

  

原文地址:https://www.cnblogs.com/hel7512/p/13037417.html