CI

作者: 互联网中的一个咸鱼 | 来源:发表于2019-11-14 18:48 被阅读0次

    CI 持续集成

    前提说明: 这里的jenkins和gitlab是通过容器的方式运行的

    容器名以及映射端口说明

    CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                 PORTS                                   NAMES
    b3d4e4130711        jenkinsci/blueocean       "/sbin/tini -- /usr/…"   5 hours ago         Up 5 hours             50000/tcp, 0.0.0.0:9980->8080/tcp       auto-cmdb_jenkins_1
    e2d756a51051        gitlab/gitlab-ce:latest   "/assets/wrapper"        5 hours ago         Up 5 hours (healthy)   22/tcp, 443/tcp, 0.0.0.0:9280->80/tcp   auto-cmdb_gitlab_1
    
    基本流程:

    1、将物理机的公钥上传到gitlab服务器上
    2、将本地项目上传到gitlab服务器上
    3、将jenkins的服务器的公钥上传到gitlab服务器上
    4、开始部署jenkins任务
    5、gitlab上配置webhook(钩子)

    Screenshot of 未命名文件 - ProcessOn.jpg

    一、将物理机的公钥上传到gitlab服务器上

    物理机生成公钥
    ssh-keygen
    
    cat ~/.ssh/id_rsa.pub
    

    传递公钥

    Screenshot of User Settings · GitLab.jpg Screenshot of SSH Keys · User Settings · GitLab.jpg

    二、将本地项目上传到gitlab服务器上

    Screenshot of Administrator _ auto_cmdb · GitLab.jpg
    克隆gitlab上的项目
    git clone git@172.31.0.3:root/auto_cmdb.git
    #  注意  这里克隆的目标是gitlab服务器的22端口  
    #  因为gitlab默认端口为SSH端口
    # 这里由于没有对gitlab服务器的 22端口进行映射, 所以我们只能用容器的ip来拉取项目
    
    mv project  .
    git add .
    git commit -m '提交项目'
    git push origin -u root master
    

    三、将jenkins上的公钥传递给gitlab服务器

    [jenkins服务器]  ssh-keygen
    和流程一步骤类似
    

    四、部署jenkins

    Screenshot of Dashboard [Jenkins].jpg Screenshot of New Item [Jenkins].jpg Screenshot of task_name Config [Jenkins].jpg

    可以看到 我们这里还有很多内容, 这里的内容我们暂时先不讨论


    Screenshot of task_name Config [Jenkins] (1).jpg
    Screenshot of task_name Config [Jenkins] (2).jpg Screenshot of task_name Config [Jenkins] (3).jpg

    配置到这里就可以了, 如果想继续配置的可以自己配置

    5、gitlab上配置webhook(钩子)

    Screenshot of Integrations · Settings · Administrator _ auto_cmdb · GitLab.jpg Screenshot of task_name Config [Jenkins] (4).jpg
    Screenshot of Integrations · Settings · Administrator _ auto_cmdb · GitLab (1).jpg
    Screenshot of Integrations · Settings · Administrator _ auto_cmdb · GitLab (2).jpg

    测试 返回200即可

    相关文章

      网友评论

          本文标题:CI

          本文链接:https://www.haomeiwen.com/subject/uaorictx.html