Gitlab CI/CD 实践七:公共脚本仓库

前言

之前将流水线脚本所有内容都放到项目里,使用一段时间后,发现存在一些问题。

  1. 不好维护,当我发现流水线可以优化,需要做些调整的时候,需要在群里跟所有人说,要怎么怎么改。很麻烦,而且不能保证所有项目都会去更新,导致有的基础设施就需要做兼容,例如我封装的基础镜像
  2. 新项目需要使用流水线时,可能出现随便找个脚本抄过来用,而那个脚本并不保证是最新的。

Gitlab 官方也意识到这个问题,提供了公共脚本仓库的概念,可在项目里引用其他项目里的脚本。

公共脚本仓库带来的好处

  • 其他项目使用 gitlab ci/cd 时,只需引用公共脚本仓库里的脚本,设置对应参数即可。隐藏具体实现细节,减轻使用者的心智负担。
  • 流水线脚本可能会进行改动、优化,只需改动公共脚本仓库即可,避免修改多个仓库的脚本,降低维护难度。

创建公共脚本仓库

在gitlab中创建仓库:gitlab-cicd-template。

放入要复用的脚本

.
├── README.md
├── common
│   ├── clean-image
│   │   ├── .gitlab-ci.yml
│   │   └── README.md
│   ├── deploy-to-k8s
│   │   ├── .gitlab-ci.yml
│   │   └── README.md
│   └── push-image
│       ├── .gitlab-ci.yml
│       └── README.md
├── golang
│   ├── build-image
│   │   ├── .gitlab-ci.yml
│   │   └── README.md
│   ├── golangci-lint
│   │   ├── 1.52.2
│   │   │   ├── .gitlab-ci.yml
│   │   │   └── base
│   │   │       └── .gitlab-ci.yml
│   │   ├── README.md
│   │   └── lint-rule.yml
│   └── unit-test
│       ├── .gitlab-ci.yml
│       ├── README.md
│       └── base
│           └── .gitlab-ci.yml
└── yarn
    ├── build-image
    │   ├── .gitlab-ci.yml
    │   └── README.md
    └── eslint
        ├── .eslintignore
        ├── .eslintrc
        ├── .gitlab-ci.yml
        ├── README.md
        └── base
            └── .gitlab-ci.yml
  • 所有脚本都放到了github

使用方式

注意事项

  • 此仓库的脚本被大量引用,修改时一定要注意向后兼容。
作者:Yuyy
博客:https://yuyy.info
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇