• 持续集成环境(Gitlab+jenkins+shell)


    一、搭建gitlab

      ps:不是这方面的专家,主要还是一键式安装为主。

      1、进入官网:https://about.gitlab.com/gitlab-com/

      2、选择自己的操作系统:我这边选择的ubuntu 14

      3、根据提示的方式进行安装(不过一般都安装不成功,主要是墙的太厉害了)

      -------------------------------------------------------

      所以我自己选择自载deb包,利用dpkg -i命令进行安装

      1、可以先根据官方提示安装依赖包,一般是 openssh-server postifx等,前者是ssh授权登录使用,后者是gitlab默认的邮件传输软件

      2、下载deb包(centos/red hat系列的是另外一个rpm的),拷贝到/tmp目录下

      (如果网络可以连接下载的话,可以到https://packages.gitlab.com/gitlab/gitlab-ce下载,我是使用了一个阿里云香港的服务器先下载到服务器,再用本地的VPN下载,这样速度也才100kb左右,不过没办法,不用这个的话才最多十几kb的下载速度)

      ----------------

      百度云盘分享:

    deb(Debian系列的linux,如ubuntu):
    地址:http://pan.baidu.com/s/1dELDoEd 提取密码:j3rc

    rpm(redhat系列,如centos)
    链接: http://pan.baidu.com/s/1c1aQYy
    密码: yma9

      3、执行解压安装

    dpkg -i /tmp/gitlab-ce_8.3.2-ce.0_amd64.deb
    # rpm
    # rpm -i /tmp/gitlab-ce_8.3.2-ce.0_amd64.rpm

      

      4、安装好之后,根据提示执行

      

    gitlab-ctl reconfigure

      

      5、修改http访问的启动端口,gitlab默认使用的nginx

      

    vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

     将类似于下面的端口80改成自定义的端口,如:8080

    server {
      listen *:80;

      6、重启gitlab

    gitlab-ctl restart

      7、访问域名地址和端口(前面修改的8080),如:http://gitlab.gabin.top:8080

      默认的账号是:root  

      密码:5iveL!fe

      新版本好像会直接让你重设密码,账号也是root。

      

    二、安装jenkins

      1、进入官网:https://jenkins.io/index.html

      2、选择自己适合的系统安装

      3、可以选择按照页面上方的命令提示进行安装,也可以选择下载下方的deb包上传到服务器上利用dpkg -i的命令进行解压安装  

    # 添加仓库到apt软件管理
    wget -q -O - http://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
    echo deb http://pkg.jenkins.io/debian-stable binary/ >> /etc/apt/sources.list
    # 更新apt
    sudo apt-get update
    # 安装jenkins
    sudo apt-get install jenkins
    # 下面是使用dpkg 安装deb包的方法
    # dpkg -i gitlba-ce.deb

      4、修改jenkins端口

      

    vim /etc/init.d/jenkins
    # centos的目录可能不一样,使用sudo find / -name 'jenkins'找一下即可

      找到:HTTP_PORT改成自己需要的端口

      5、重启jenkins

    service jenkins restart

      6、访问jenkins,并安装所需的插件(Maven、Gitlab Hook、git),这些大家自己研究一下,不难。

    三、在gitlab中创建一个git项目

      1、通过web系统进行操作

      2、编辑项目,进入项目页,在右上角点击编辑按钮(不同版本可能界面会有不同)

      3、选择web hooks进行配置,其实就是增加一个推送地址,每当项目提交的时候就往这个地址推送数据,这边的url地址需要填写jenkins项目中的地址

    四,配置jenkins job

      1、新建一个job(如果已经成功安装maven插件,则会出现maven项目的选择)

      2、配置项目源代码管理

      注意这边需要配置一个授权账号,我这边配置的是gitlab所在服务器的ssh私钥

      3、配置构建触发器,就是开始执行源码更新->编译->测试->部署的条件,我们这边选择gitlab hook,就是gitlab的钩子,只要gitlab有提交代码或其他设置的条件,就会自动执行构建操作,标红的地址上面就有提到过,是用于gitlab中web hooks地址填写栏位的,但要注意这个地址必须是可以在gitlab服务器上访问的。

      4、配置构建成功之后部署生产环境,这边选择只在成功的情况下部署,另外使用BUILD_ID=dontKillMe来执行一个shell脚本

    (因为jenkins执行构建完成后会自动kill进程,如果部署环境还没完成,则会终端),这边的update.sh是一个生产环境下的自动部署脚本,为了保证jenkins有这个执行脚本的权限,我们可以设置/etc/default/jenkins文件中的用户改为root,这样我们就有执行ssh的相关权限了。

    #JENKINS_USER=$NAME
    #JENKINS_GROUP=$NAME
    JENKINS_USER=root
    JENKINS_GROUP=root

      5、在gitlab的项目编辑页面中选择web hooks,点击已经添加的web hooks的测试按钮,看是否能正常触发构建。

  • 相关阅读:
    图解SQL的Join(转)
    phpmyadmin 自动登录的办法
    ajax的data传参的两种方式
    如何在vue里面访问php?
    vue 路由部署服务器子目录问题
    Vuthink正确安装过程
    关于vueThink框架打包发布的一些问题
    使用npm安装依赖,尽量别使用cnpm,会漏掉很多依赖的
    phpstorm(或webstorm) 打开后 一直停留在scanning files to index....,或跳出内存不够的提示框
    vuethink 配置
  • 原文地址:https://www.cnblogs.com/gabin/p/5617749.html
Copyright © 2020-2023  润新知