centos7.5安装gitlab-runner,配置CI/CD流水线

一般不建议gitlab-server和gitlab-runner装在同一台服务器

第一步:安装gitlab-runner,最好和gitlab实例版本一致

# 下载官方gitlab-runner安装脚本
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash

# 安装gitlab-runner
sudo yum install gitlab-runner

第二步:创建runner实例
一般分为共享型runner和项目型runner
共享型的,任何项目都可使用它来执行流水线
项目型的,只有特定项目可以使用它来执行流水线
共享型的创建,在管理员的管理面板:
在这里插入图片描述
项目型的创建,在项目的设置-ci/cd 管理面板:
在这里插入图片描述

第三步:注册runner

sudo gitlab-runner register
# 交互式注册,填入生成的token等等...

在这里插入图片描述
gitlab-runner在运行时默认使用“gitlab-runner”用户,该用户没有root访问权限,所以对于运行脚本时,某些操作会没有权限,导致流水线失败,需要手动解决。

第四步:项目根目录加入gitlab-ci.yml配置文件


default:
  artifacts:
    paths:
      - dist # 打包产物相对路径(相对于当前项目)
# 定义步骤
stages:
    - build
    - test
    - deploy

# 每个job运行前执行
before_script:  
  - echo "前"  
  - echo $(whoami) # gitlab-runner在运行时默认使用“gitlab-runner”用户,该用户没有root访问权限,所以对于运行脚本时,某些操作会没有权限,导致流水线失败,需要手动解决。
  - pwd # 每个runner执行时都有自己的工作目录,在gitlab-runner的home空间中 /home/gitlab-runner/builds/xxx
  - ls -al

# 每个job运行后执行
after_script:  
  - echo "后" 
  - ls -al

# 打包阶段
build-job:
    stage: build
    tags:
        - runner1 # 指定具体runner去执行
    script:
        - echo "Building the application"
        - npm install
        - npm run prod
    only:
        - main

# 测试阶段
test-job:
    stage: test
    tags:
        - runner1
    script:
        - echo "Testing the application" 
    only:
        - main

# 部署阶段
deploy-job:
    stage: deploy
    tags:
        - runner1
    script:
        - echo "Deploying the application" 
        - mv dist/* /usr/share/nginx/html # 移动文件到html文件夹(用到之前定义的打包产物相对路径)
    only:
        - main

相关推荐

  1. docker安装gitlab-runner

    2024-04-01 05:20:05       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 05:20:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 05:20:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 05:20:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 05:20:05       20 阅读

热门阅读

  1. 2023年C++语言B组蓝桥杯的三道题解【题解整合】

    2024-04-01 05:20:05       15 阅读
  2. 探索ChatGPT在学术论文写作中的应用方法

    2024-04-01 05:20:05       15 阅读
  3. ChatGPT:改变你的学术写作方式

    2024-04-01 05:20:05       20 阅读
  4. 100266. 交替子数组计数

    2024-04-01 05:20:05       17 阅读
  5. 蓝桥杯该如何准备

    2024-04-01 05:20:05       23 阅读
  6. 【Redis】多机部署Redis-sentinel

    2024-04-01 05:20:05       17 阅读
  7. Web框架开发-Django-extra过滤

    2024-04-01 05:20:05       17 阅读
  8. PostCSS深入解析:安装、配置与高效使用

    2024-04-01 05:20:05       24 阅读
  9. 2-Jquery层次选择器

    2024-04-01 05:20:05       17 阅读