gitlab安装与使用

2020-08-31

docker 安装gitlab
$ sudo docker pull gitlab/gitlab-ce:latest
GitLab CI/CD

CI 环节包括3个Stage(阶段)

  • build 编译
  • test 测试
  • deploy 发布
  1. Stage 在.gitlab-ci.yml中通过如下定义:
stages:
  - build
  - test
  - deploy
  1. Job关联到Stage, 当一个Stage执行的时候, 与其关联的所有Job都会被执行。

注意: Job是可并行执行的。可以利用多个Runner来加速CI/CD的流程

# job_build_module_A 被关联到Stage
job_build_module_A:
  stage: build
  1. Job的执行
job_bulid_module_A:
  script:
    - cd module_A
    - mvn clean comile
  1. 公共配置
  • before_script
  • after_script

在所有Job的script执行前和执行后调用

  1. Job 执行总揽 before_script -> script -> after_script

  2. Runner

  • install runner 进入仓库-> 设置 -> CI/CD -> Runner -> install runner 按照文档来即可
wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
chmod +x /usr/local/bin/gitlab-runner
useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
gitlab-runner install --user=root --syslog=false --working-directory=/home/gitlab-runner # 在/etc/init.d/下生成gitlab-runner脚本,用于start stop命令。 指定--user=root
gitlab-runner start
  • 注册runner

    • 进入仓库-> 设置 -> CI/CD -> Runner
    • gitlab-runner register
    • 注册后找到gitlab 仓库-> 设置 -> CI/CD -> Runner 编辑 勾选 “运行未标记的作业” 不然runner 跑job时如果没有tags 不会执行。
  • 启动

gitlab-runner stop|start
  1. 修改gitlab clone url
vim /etc/gitlab/gitlab.rb
external_url 'http://xx.xx.xx.xx:30000/'

gitlab-ctl restart
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: xx.xx.xx.xx
    port: xx
    https: false

frp: 配置