0
点赞
收藏
分享

微信扫一扫

CI-cmdb的gitlab和jenkins部署

一叶轻舟okok 2021-09-29 阅读 96

CICD的概念:

CI,持续集成指的是,频繁地(一天多次)将代码集成到主干。
作用:
(1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
(2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
目的:持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量
CD
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境


通过前两篇的部署,我们基本已经得到一个比较完善的环境,今天我们就来为这个项目部署jenkins和gitlab
首先我们的总的docker-compose.yaml插入两条:

  gitlab:
    image: git
    restart: always
    hostname: 'gitlab.king.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://10.0.122.100: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'
    container_name: "gitlab_server"

  jenkins:
      image: jenkins_blue 
      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"
      container_name: "jenkins_server"

此时目录为:


起了容器之后我们就可以分别访问jenkins(本机IP:9980)和gitlab(本机IP:9280)
1.进入jenkins_server容器生成公钥,获取公钥放到gitlab上
2.进入jenkins,新建任务,连接gitlab


配置触发器:


将得到的这个地址
http://jenkins_server:9980/project/webhook-cndb,映射端口记得改一下,改为容器的端口,8080
放到gitlab的



提交不成就修改下列文件
Admin Area(小扳手的图标)/settings/network

然后点击测试



最好定义一个简单shell命令易于显示结果

3.这样可以实现用webhook检测gitlab上提交文件的变化,其他更多功能的灵活应用可自行定义脚本,周期性任务等

举报

相关推荐

0 条评论