GitLab CI/CD流水线配置案例

7,447次阅读
没有评论

共计 1336 个字符,预计需要花费 4 分钟才能阅读完成。

概述

这是一份 GitLab CI/CD 流水线的配置示例,如果你在开发中有这样的需求,如将提交的代码自动更新到测试服务器,或将打了标签 / 发布版本的代码自动更新到正式服务器 (可能是演示环境),那么可以参考该文章的方式实现。

准备工作

  • 确保你的 runner 已经存在

GitLab CI/CD 流水线配置案例

如上图中表示的是存在 4 个 runner,每个 runner 都存在一个标签,这个标签在后续配置流水线时可以通过设置标签实现指定哪一个 runner 运行。

  • 确保你的项目根目录下存在一个 .gitlab-ci.yml 文件,这是 GitLab CI/CD 的配置文件

.gitlab-ci.yml 文件配置示例

# usermod -aG docker gitlab-runner

# 定义阶段
stages:
  # 发布
  - deploy

# 定义变量
variables:
  # docker 容器名称
  DOCKER_CONTAINER_NAME: api-gateway
  # 测试站项目目录
  TEST_DIR: /web/api-gateway
  # 正式站项目根
  PRODUCT_DIR: /web/api-gateway

# 发布测试版
deploy_test:
  stage: deploy
  script:
    - echo "============== 开始部署测试版 ==============="
    # 通过脚本实现部署,脚本内容参考后文
    - chmod a+x ./scripts/deploy_test.sh
    - ./scripts/deploy_test.sh
    - echo "============== 结束部署测试版 ==============="
  only:
      # 这里的 dev 是开发分支,根据情况调整
    - dev
  tags:
      # 这里的是 runner 的标签,表示使用哪个 runner 执行
    - deploy-runner

# 发布正式版
deploy_production:
  stage: deploy
  script:
    - echo "============== 开始部署正式版 ==============="
    # 通过脚本实现部署,脚本内容参考后文
    - chmod a+x ./scripts/deploy_production.sh
    - ./scripts/deploy_production.sh
    - echo "============== 结束部署正式版 ==============="
  only:
      # 这里的 tags 表示当创建了新的 tag 标签时运行
    - tags
  tags:
      # 这里的是 runner 的标签,表示使用哪个 runner 执行
    - deploy-runner

部署脚本参考示例

测试站脚本参考

#!/usr/bin/env bash

# 使用 ssh 命令登录服务器
ssh -p 22 -tt root@192.168.0.2 

正式站脚本参考

#!/usr/bin/env bash
ssh -tt root@192.168.0.3 

其他说明

  • 你需要先在测试站或则正式站拉取 git 项目到对应的目录,这样做是防止需要输入 git 的账号密码,同时应该配置将 git 的账号密码储存起来,避免重复输入。可使用如下命令实现
git config --global credential.helper store

# 推荐阅读

GitLab CI/CD 流水线配置案例

说明用于代码托管在 gitlab,提交后通过 gitlab-ru…

标签:git
gitlab

文章来源: GitLab CI/CD 流水线配置案例

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-20发表,共计1336字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)