gtc: 一个可以 trigger gitlab 的小工具

利用 oss/s3 来完成方便前端部署,结合 gitlab 的 git message 来完成真正的 trigger
更新于: 2022-06-11 11:15:12
项目主页: https://github.com/afeiship/glab-trigger-cli

配置 aws 相关 key

  • 手动配置
  • 自动配置(下面的脚本仅供参考)
import gitlab
import os
import jsw_nx as nx

gl = gitlab.Gitlab()

gl = gitlab.Gitlab(url="https://git.saybot.net/",
                   private_token=nx.get_env('GITLAB_TOKEN'))
# project_id
prj = gl.projects.get(2563)

aws_settings_from_env = ['AWS_ACCESS_KEY_ID',
                         'AWS_SECRET_ACCESS_KEY', 'AWS_DEFAULT_REGION']

for key in aws_settings_from_env:
    prj.variables.create({'key': key, 'value': nx.get_env(key),
          'protected': True})

print(prj.variables.list())

安装

npm i -g @jswork/glab-trigger-cli

使用

  • 初始化: gtc -i
  • 平时发布/上传: gtc
利用 gtc 触发 gitlab 里的 stage

@命令参考

命令含义
@beta发布项目到 beta 环境上去(先build,再 upload-beta)
@prod发布项目到 prod 环境上去(先build,再 upload-prod)
@build仅在 gitlab上完成build
@upload-beta将 build 内容上传到 beta 环境 的 oss/s3 上去
@upload-prod将 build 内容上传到 prod 环境 的 oss/s3 上去

参考