本文耗时60分钟,建议实战。

gitlab-ci 配置说明

  1. 在项目根目录下创建一个 .gitlab-ci.yml文件,详细内容见下文源码。
  2. 修改README.md 文件,加上图标展示:(build status
  3. 提交代码,然后就可以查看到build状态了(http://xxx.gitlab.local/server/xxx/builds)

注意:经过以上3步之后,build 状态会显示[pending 状态],原因是因为还没有给他配置 Runner。

我们还要配置一下 Runner,如果没有 Runner 则可以参考这个:http://xxx.gitlab.local/server/xxx/runners 其实,Gitlab 已经有 Runner 了,可以直接用于你的项目。点击使其可用就好了。

另外:

  1. 有可能你的项目没有Pipelines,也没有Runners,所以我们需要打开 builds。(怎么打开呢?点击Edit Project,然后在Feature Visibility中找到 builds,改变权限,然后点击保存。)
  2. 这个选项是需要你上一步选择之后,才会出来:Only allow merge requests to be merged if the build succeeds。(Builds need to be configured to enable this feature.)

mr

所以,我们应该把这个选项都全部勾选上,用于要求被Merge的代码一定是通过 build 的。

.gitlab-ci.yml 文件

.gitlab-ci.yml 示例,拿到这个文件之后,只需要修改一下REPO_NAME,即可将build状态应用到你自己的项目中了。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
variables:
    REPO_NAME: xxx.gitlab.local/xxx

before_script:
  - go version
  - echo $CI_BUILD_REF
  - echo $CI_PROJECT_DIR

after_script:
  - rm -rf $GOPATH/src/$REPO_NAME/

stages:
  - build
  - test

build-project:
  stage: build
  script:
    - mkdir -p $GOPATH/src/$REPO_NAME
    - mv $CI_PROJECT_DIR/* $GOPATH/src/$REPO_NAME/
    - cd $GOPATH/src/$REPO_NAME
      #  - gometalinter # 代码检查
    - go build

test-project:
  stage: test
  script:
    - mkdir -p $GOPATH/src/$REPO_NAME
    - mv $CI_PROJECT_DIR/* $GOPATH/src/$REPO_NAME/
    - cd $GOPATH/src/$REPO_NAME
    - go test

希望以上配置能够给你帮助。


茶歇驿站

一个可以让你停下来看一看,在茶歇之余给你帮助的小站。

这里的内容主要是后端技术,个人管理,团队管理,以及其他个人杂想。