zoukankan      html  css  js  c++  java
  • gitlab-jenkins安装

    由于公司发布预览版比较麻烦,于是准备使用 jenkins + gitlab 做一个自动化部署的工具,这里记录一下在公司本地 CentOS 服务器上安装 Jenkins 和 gitlab。

    配置 java 环境

    下载 jdk 和 maven 到指定文件并做如下配置
    /etc/profile 配置文件添加:

    /home/jdk/jdk1.8.0_171/bin
    /home/maven/apache-maven-3.5.3/bin
    
    export JAVA_HOME=/home/jdk/jdk1.8.0_171
    export CLASSPATH=$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH
    
    export MAVEN_HOME=/home/maven/apache-maven-3.5.3
    export PATH=$MAVEN_HOME/bin:$PATH
    

    配置立即生效$source /etc/profile

    安装 Docker

    $curl -fsSL https://get.docker.com/ | sh

    配置 Docker 镜像加速器

    修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器

    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["your mirror url"]
    }
    EOF
    

    docker 一些基本命令:
    systemctl start docker
    systemctl status docker
    systemctl enable docker
    systemctl daemon-reload
    systemctl restart docker

    通过 docker 安装 gitlab

    docker run --detach 
    --hostname 192.168.1.10 
    --publish 444:443 --publish 93:80 --publish 23:22 
    --name gitlab 
    --restart always 
    --volume /home/gitlab/config:/etc/gitlab 
    --volume /home/gitlab/logs:/var/log/gitlab 
    --volume /home/gitlab/data:/var/opt/gitlab 
    --volume /etc/localtime:/etc/localtime 
    gitlab/gitlab-ce:latest
    

    80是web访问用的端口,22是ssh协议用的端口。
    hostname 后面可以使用 IP 地址或者 localhost(仅本机测试使用。
    --volume 一定要注意本机的路径是否有权限,如果没有给 docker 访问权限是不可以运行的。

    docker exec -it gitlab /bin/bash

    编辑/etc/gitlab/gitlab.rb文件,这是Gitlab的全局配置文件。所有选项都可以在这里配置。

    当gitlab服务器ssh端口不是默认的22时,使用ssh连接gitlab会出现错误,需要对端口进行配置。

    # 配置http协议所使用的访问地址
    external_url 'http://192.168.1.10’
    
    # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '192.168.1.10'
    gitlab_rails['gitlab_shell_ssh_port'] = 93
    

    sudo gitlab-ctl reconfigure 执行重新载入配置文件

    安装 jenkins

    jenkins 可以以 war 文件,本机包,安装程序和 Docker 容器的形式分发,这里我选择的是以 war 文件的方式运行 jenkins。
    访问 https://jenkins.io 下载 jenkins.war,通过 war 包的方式启动 jenkins。

    nohup java -jar jenkins.war  -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60 &
    

    timeOut 是一个超时时间配置,可以有效解决从 gitlab 拉取代码时超时的情况(有时候网络不是很好,拉取最新的代码时间可能比较长)。

    本文由个人 hexo 博客 co2fe.com 迁移
    date: 2018-09-10 11:27:40

  • 相关阅读:
    HDU4405(期望DP)
    hdu4165(简单递推,实则卡特兰数的应用)
    hdu4576(概率DP)
    期望DP(2013山东省赛)
    Nim游戏及其相关拓展
    nginx ubuntu环境下配置 path_info
    iOS 瀑布流的简单实现 UICollectionView
    ThPullRefresh (Swift 版)下拉上拉刷新
    用php搭建博客系统-待续
    面试收录-php面试题
  • 原文地址:https://www.cnblogs.com/manastudent/p/10191075.html
Copyright © 2011-2022 走看看