Gitlab CI/CD使用-GitlabRunner

1、安装gitlab runner

 

runner是一个任务执行器,我们可以在任意一个可访问的地方安装runner,并注册到我们的gitlab系统中,这样我们就能使用gitlab ci/cd功能进行持续集成构建项目了

可以直接在linux安装,也可以使用docker方式安装,下面是docker

        1.1 安装

#创建目录放置配置
mkdir -p /data/gitlab-runner/config

#启动docker容器,如果镜像不存在会自动拉取
docker run -itd --restart=always --name gitlab-runner \
> -v /data/gitlab-runner/config:/etc/gitlab-runner \
> -v /var/run/docker.sock:/var/run/docker.sock  gitlab/gitlab-runner:latest

        1.2 注册

        先进入容器,在进行注册

root@buntu:docker exec -it gitlab-runner bash
root@3d5e7569adce:/# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=27 revision=c6e7e194 version=14.8.2
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.yourdomin.com.cn/ #你的gitlab服务域名
Enter the registration token:
ciA6DkobmzZVYLF-xxxx #在gitlab->管理区域->概述->Runners的注册令牌
Enter a description for the runner:
[3d5e7569adce]: runner for demo #随便写
Enter tags for the runner (comma-separated):
irunner #在yaml文件的tags中使用,必须以字母开头
Enter optional maintenance note for the runner:

Registering runner... succeeded                     runner=ciA6Dkob
Enter an executor: docker-ssh+machine, custom, docker, docker-ssh, shell, virtualbox, parallels, ssh, docker+machine, kubernetes:
docker
Enter the default Docker image (for example, ruby:2.7):
docker:20.10.7
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

        注册成功后在gitlab ->管理区域->概述->Runners可以看到你的runner

        1.3 查看修改tag

        点击上图的编辑可以修改 tags(标签),一般不要修改。否则之前yaml中写的tags都要改。还可以为这个runner指定固定的仓储

2、编写yaml文件

        yaml文件介绍,下面是个demo,可以测试使用。正式请看官方文档

        在你的项目根目录下创建.gitlab-ci.yml文件,内容如下

stages:
  - install
  - build
  - deploy

cache:
  key: ${CI_BUILD_REF_NAME}
  paths:
    - node_modules/
    - dist

# 安装构建依赖
install_job:
  stage: install
  
  only:
    - master # 指定分支
  script:
    - echo '安装构建依赖'
  tags:
    - irunner

# 构建预prod环境src目录下应用
build_job:
  stage: build
  only:
    - master
  script:
    - echo '构建应用'
  tags:  # 指定runner
    - irunner

# 部署生产环境
deploy_job:
  stage: deploy
  only:
    - master
  script:
    - echo '部署生产环境'
  tags:
    - irunner

3、触发执行

        在具体某个仓储项目->设置->CI/CD添加一个触发器,随便起个名字

        3.1 webhook,注意tTOKEN和REF_NAME

Gitlab CI/CD使用-GitlabRunner_第1张图片

 使用postman测试

Gitlab CI/CD使用-GitlabRunner_第2张图片

        查看构建状态 

Gitlab CI/CD使用-GitlabRunner_第3张图片

        3.2自动触发构建

        我们yaml文件标记的分支是master分支,当master有提交代码或者有分支合并到master时候

        会自动触发构建。

更多信息请查看 博客 或者关注公众号:Z技术

你可能感兴趣的:(运维,自动化,docker,kubernetes)