1. gitlab runner 的安装配置和 gitlab C

2020-03-30  本文已影响0人  eftales

安装配置 gitlab runner

安装

sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

sudo chmod +x /usr/local/bin/gitlab-runner

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash -g root -G root

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start

配置

配置时最重要的就是 URL 和 token。

URL 就是你托管代码的地方。有人看你会说,github 行不行呀?当然不行,必须是 gitlab 的服务器,github 和 gitlab 是不兼容的。我们这里以 gitlab.com 为例,其他的自建 gitlab 服务器一样,只需要写拥有 gitlab 功能的服务器的地址就行。

token 是与项目相关的字符串。打开一个项目页面,依次点击 settings -> CI/CD -> runners。

runner 在这里~

然后你就可以下下图看到 token。

token在这里~
sudo gitlab-runner register # 配置 gitlab runner
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
# https://gitlab.com
Please enter the gitlab-ci token for this runner
# 输入我们千辛万苦找到的 token
Please enter the gitlab-ci description for this runner
#写点介绍
Please enter the gitlab-ci tags for this runner (comma separated):
# tag 就是这个 gitlab-runner 的名字,之后可以根据不同的 tag 给不同的 gitlab-runner 指派任务
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
# shell 个人比较推荐 shell,因为即使选用了 shell 也可以调用其他的运行环境比如 docker 鸭

CI/CD 基本使用流程

在工程的根目录新建文件 .gitlab-ci.yml,提交到云端之后就会执行。

# 在任一阶段开始之前执行 echo "嘤嘤嘤"
before_script:
  - echo "嘤嘤嘤"

# 说明有哪些阶段
stages:
  - build
  - test
  - release

# build 阶段
build:
  stage: build
  script:
    - echo "build"
  tags: 
    - aliyunUbuntu16 # 使用名为 aliyunUbuntu16 的gitlab-runner
  only:
    - master # 只对 master 分支进行本操作
  artifacts: # 将 src 目录下的文件保存一下,以备后续步骤使用
      paths:
      - README.md 

# test 阶段
test:
  stage: test
  script:
    - echo "test"

  tags:
    - aliyunUbuntu16 # 使用名为 aliyunUbuntu16 的gitlab-runner
  only:
    - master
  dependencies:
    - build # 依赖于 build 阶段保存的文件
  artifacts:
      paths:
      - README.md 

# release 阶段
release:
  stage: release
  script: 
    - npm install
    - docker kill node_server
    - docker run -d --name node_server  --rm -p 3000:3000 -v $(pwd):/opt/webapp   node:8.9.4 node /opt/webapp/app.js
  allow_failure: false # 允许失败,web 执行起来之后就停不下来,因此此处必定超时导致失败
  tags: 
    - aliyunUbuntu16
  only:
    - master
  dependencies:
    - test # 依赖于 test 阶段的二进制文件 web

上一篇下一篇

猜你喜欢

热点阅读