• 使用gitlab, jenkins搭建CI(持续集成)系统(1) -- 准备环境


    1. 环境设计

        搭建一个从开发到测试知道发布上线可以自动换完成的CI系统。这个系统中包含4个环境。

      开发(dev)环境: 码农使用。

      测试(test)环境: 测试人员使用。

      预发布(prepublish)环境: 预发布环境,用于上线前的最后验证。

          正式(realpublish)环境: 正式上线运行环境

      

      我期望的效果是这样的:

      代码推送到master分支,自动构建、部署到dev

      代码推送到test分支, 自动构建、部署到test

      test上测试通过后,在jenkins中手动触发relase分支构建, jenkins自动将test分支代码合并到release上, 然后构建、部署到prepublish

          prepublish验证通过后,在jenkins中手动触发publish构建,使用release分支代码, 构建、部署到publish

          以上步骤中,在不同的环境中自动使用不同的配置。

    2. 环境准备

      操作系统:centos7

      用虚拟机虚拟出5个主机:

      192.168.1.35: gitlab

      192.168.1.36: jenkins

      192.168.1.41: dev环境

      192.168.1.42: test环境

      192.168.1.43, 192.168.1.44 prepublish 环境

      192.168.1.45,192.168.1.46   realpublish环境    

      2.1 安装gitlab, 创建实验用的project

      在192.168.1.35上安装gitlab, 这个主机需要配置至少4G内存,否则gitlab会很慢。

      具体安装过程参考:https://about.gitlab.com/installation/#centos-7

      第一步:

      curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

      第二步: 

      sudo EXTERNAL_URL="http://192.168.1.35" yum install -y gitlab-ce

     

      完成之后gitlab将会在192.168.1.35 提供服务

      

      打开浏览器输入: http://1192.168.1.35

      第一次进入初始化root账号

      创建一个用于创建project的账号

      至此,gitlab环境就准备好了。

      2.2 安装配置jenkins

      在192.168.1.36上运行jenkins

      安装jdk8

      下载jenkins:  http://mirrors.jenkins.io/war-stable/latest/jenkins.war

      将jenkins.war放在 /root/jenkins中

      启动jenkins

      cd /root/jenkins

      ./java -jar jenkins.war --httpPort=80

      打开浏览器输入192.168.1.36登录jenkins。第一次进入会要求安装默认的plugin, 安装完成之后, 创建一个管理员账号,然后用这个管理账号重新登录。

      系统管理 - 管理插件 - 可选插件  选择gitlab相关插件进行安装:

      GitLab Plugin

      Gitlab Hook Plugin

          
      2.3 创建实验project
      
      在gitlab中创建一个group: examples

    创建一个用于实验的project: example-springbootmvc。 我在github上有这个用于实验的project: https://github.com/brandonlyg/examples-springbootmvc.git。可以clone下来,导入到gitlab中。使这个project在gitlab中个url是 git@192.168.1.35:examples/example-springbootmvc.git

       

      2.4 让jenkins所在的主机可以免密码登录到其他的主机上

      生成ssh key

      ssh-keygen

      将公钥copy目标主机上,然后ssh登录异常

      ssh-copy-id root@192.168.1.41

      ssh root@192.168.1.41

      重复这两个步骤,配置好42, 43, 44, 45, 46这几个主机。

  • 相关阅读:
    System.TypeInitializationException
    Leetcode 884. 两句话中的不常见单词
    Leetcode 5274. 停在原地的方案数
    Leetcode 1254. 统计封闭岛屿的数目
    Leetcode 1262. 可被三整除的最大和
    数据库知识点自我补充
    最大公共连续子序列
    重建二叉树
    KMP算法
    BF算法(模式匹配)
  • 原文地址:https://www.cnblogs.com/brandonli/p/8367251.html
Copyright © 2020-2023  润新知