ci

作者: YY_1 | 来源:发表于2019-11-16 16:12 被阅读0次

    基本思想

    image.png
    image.png

    docker-compose代码

    version: '3.2'
    services:
      gitlab:
        image: 'gitlab:latest'
        restart: always
        hostname: 'gitlab.hahalet.com'
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://10.0.122.158:9280'
            unicorn['worker_timeout'] = 60
            unicorn['worker_processes'] = 3 # worker进程数
            unicorn['worker_memory_limit_min'] = "200 * 1 << 20" # worker最小内存
            unicorn['worker_memory_limit_max'] = "300 * 1 << 20"  # worker最大内存
            sidekiq['concurrency'] = 10
            postgresql['shared_buffers'] = "128MB"
            postgresql['max_worker_processes'] = 8
        networks:
          - jumpserver-test
        ports:
          - '9280:9280'
        volumes:
          - './gitlab/config:/etc/gitlab'
          - './gitlab/logs:/var/log/gitlab'
          - './gitlab/data:/var/opt/gitlab'
    
      jenkins:
        image: 'jenkins:latest'
        restart: always
        privileged: true
        user: root
        volumes:
          - type: bind
            source: ./jenkins/jenkins_home
            target: /var/jenkins_home
          - type: bind
            source: /Volumes/data/com.docker.docker/Data/docker.sock
            target: /var/run/docker.sock
            read_only: "yes"
        networks:
          - jumpserver-test
        ports:
          - "9980:8080"
    
    volumes:
      mysqldb:
    networks:
      jumpserver-test:
    

    注意事项
    1.gitlab 首先上传公钥(jenkins)
    2.如果需要gitclone则需要使用gitlab容器的ip
    3.在jenkins中如果需要配置gitlab的ip则需要配要配置容器的ip及其内部端口

    一、环境准备

    jenkins容器
    gitlab容器
    保证两个容器在同一个网段

    二、jenkins配置

    初始化之类的就不多说了,看我的博客,有详细讲解:
    https://blog.csdn.net/hanguofei/article/details/102670620

    1、安装插件
    2、把jenkins的公钥添加到本地gitlab的SSH-KEYS里
    3、在Gitlab上创建一个root用户

    三、gitlab配置

    1、在Gitlab上创建一个用于添加jenkins凭据的用户,就是gitlab当前登陆的用户

    四、持续集成

    1、创建一个自由风格的构建任务
    点击新建任务

    image

    输入任务名称,选中自由风格项目,点击确定

    image

    写描述信息

    image

    配置仓库地址

    image

    添加ssh私钥

    image image

    这里添加的是jenkins容器的私钥

    image

    构造触发器,这里选择webhook,提交后自动完成集成

    image

    增加构建步骤,这里可以添加一些执行动作,可以不选

    image

    构建后步骤。归档成品:生成.war包或者.zip包
    邮件通知:构造成功或失败发送邮件通知

    image

    2、gitlab相应操作

    配置 jenkins 的 webhook触发事件

    复制webhook那块的http链接,

    image

    点击这个扳手

    image

    点击Intergrarions

    image

    放入URL中,点击对应的事件测试是否成功

    image

    添加webhook,点击test可进行测试

    image

    轮询SCM

    相互之间能够回调

    image image image image image image

    扩展

    系统管理 中点击 系统配置
    发送邮件

    image

    使用ssl协议,端口为465,不使用则为无25

    相关文章

      网友评论

          本文标题:ci

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