GitLab CI/CD 菜鸟使用踩坑记录

GitLab CI/CD 入门 | 极狐GitLab

使用步骤

1. 必要条件:需要有运行中的gitlab-runner。<我们的后端大佬帮忙安装了,并且在管理员设置中给项目共享了runner。>

2. 使用shell脚本方式来实现,在项目根目录下创建.gitlab-ci.yml文件

# default # 可以给 after_script before_script 等作业设置默认值

# 定义作业组的阶段
stages:
  - install
  - test
  - build
  - deploy

# global variables 公共的变量 如果作业组中定义了相同的变量,以作业为主
variables:
  DEFAULT_VARIABLE: 'default-deploy'
  DEVELOPMENT: 'deployment'
  PRODUCTION: 'production'

# workflow定义流水线
# workflow:
#   rules:
#   - if $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
#     variable

# install 安装依赖
install:
  stage: install
  only:
    - dev
    - master
  script:
    - echo "---start install---"
    - sudo nvm alias default v16.20.1
    - sudo pnpm install
    - echo "---end install---"

# test 代码检查
test:
  stage: test
  only:
    - dev
    - master
  script:
    - pnpm run CheckAll

# 打包
build:
  stage: build
  script:
    - echo "---start build---"
    - pnpm run build
    - echo "---end build---"
  artifacts:
    paths:
      - dist # 打包文件

# deploy
# 开发环境部署
deploy_dev:
  stage: deploy
  only:
    - dev
  script:
    - scp -r dist/* user@$SERVER_IP:/home/user/www/security-management-platform.$DEVELOPMENT.com/ # 把dist目录下文件递归复制到服务器下的地址

# 生产环境部署
deploy_master:
  stage: deploy
  only:
    - master
  script:
    - scp -r dist/* user@$SERVER_IP:/home/user/www/security-management-platform.$PRODUCTION.com/ # 把dist目录下文件递归复制到服务器下的地址  scp -r  -r是

3. 修改代码并提交对应的分支,触发流水线。

步骤大概就是这样但是因为第一次搞这个,真是一步一坑。下面是过程中遇到的问题:

踩坑1

fatal: git fetch-pack: expected shallow list;

fatal: the remote end hung up unexpectedly

在流水线中查看作业组的状态,发现有这样的错误。这是因为git版本过低导致的,需要升级git版本。参考下面大佬的博客

gitlab自动发布常见错误及解决_logseq在gitlab 自动发布_W如Q扬的博客-CSDN博客

踩坑2

在这一步遇到了nvm、npm、pnpm命令找不到的问题,推测是权限不够。可以参考下面文章,目前还没完全解决问题,待成功后继续更新文档。

命令_Gitlab CI 失败:未找到 NPM 命令_IT常识

使用上面的方法没有解决找不到npm等命令的问题,最后手动export出环境变量来实现:

在对应的job阶段执行的脚本中添加一行:

- export PATH=/home/user/.nvm/versions/node/v16.20.1/bin/

PATH后面的是在服务器中安装的node地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值