Gitlab CI:在存储库中创建dist文件夹?

时间:2019-01-24 09:23:57

标签: npm continuous-integration gitlab

我最近才开始使用gitlab CI来自动化一些构建/部署步骤。它可以完美地构建docker映像等,但是我想知道是否可以在构建步骤中在存储库中创建一个文件夹?例如,我现在正在制作一个npm实用程序包,但是我只是通过私有gitlab存储库(使用deploy令牌)将其导入其他项目中,但是该util包的代码是用es6编写的,需要进行编译到在其他软件包中使用的commonJS。我可以手动运行 npm run build ,它将输出包含已编译代码的dist文件夹。

我正在尝试(并研究)是否可以使用.gitlab-ci自动执行此构建过程,但到目前为止我什么都找不到。

任何人都知道我如何实现这一目标和/或这是否可能?

谢谢!

1 个答案:

答案 0 :(得分:1)

不确定我是否正确回答了您的问题,因此请添加更多详细信息。

当您的CI构建创建新文件夹或文件时,它们将被写入任务运行器的文件系统(我想这并不奇怪)。

如果要从Gitlab的Web UI访问这些文件,可以在构建作业中将它们定义为工件(请参见https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html

您的构建工作看起来像这样(由内存编写的伪代码,未经Gitlab进行测试):

build:
  script:
  - npm run build
  artifacts:
    paths:
    - dist/
    expire_in: 1 week

更新如果要将构建工件上载到NPM注册表,则可以构建并一起推送。

build:
  script:
  - npm run build
  - npm publish <PARAMETERS>