在gitlab CI中读写文件

时间:2020-05-19 08:33:56

标签: gitlab

我想拥有一个gitlab CI,其中将读出一个名为“版本”的文件(内容类似于1.1.0),并释放该版本的nuget,然后在下一次增加次要编号(例如然后是1.2.0。

这是我的文件:

nuget_prod:    
  stage: nuget_prod    
  script:     
    - 'export VERSION=1.1.0' #READ FROM VERSION FILE
    - 'TODO' # ADD VERSION NUMBER AND SAVE BACK TO VERSION FILE
    - 'dotnet pack .\\myproj.csproj -p:PackageVersion=$VERSION'
    - 'dotnet nuget push **/*.nupkg --api-key xxxx--source xxxx'
  when: manual
  only:
    - master

1 个答案:

答案 0 :(得分:1)

您在这里有一些方法

  1. 将值保存在外部服务中,例如数据库或文件(通过scp)
  2. 配置缓存https://docs.gitlab.com/ee/ci/yaml/#cache并不是最佳做法,但是在这种情况下可以使用
  3. 将文件的版本保存为工件https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html,并在下一个管道中从api https://docs.gitlab.com/ee/api/jobs.html获取此文件
  4. 配置您的管道以在管道末尾提交此文件的新版本(使用CI SKIP)

这不是一项艰巨的任务,有很多方法可以完成....只是测试,使其更适合您的环境