我最近才开始使用gitlab CI来自动化一些构建/部署步骤。它可以完美地构建docker映像等,但是我想知道是否可以在构建步骤中在存储库中创建一个文件夹?例如,我现在正在制作一个npm实用程序包,但是我只是通过私有gitlab存储库(使用deploy令牌)将其导入其他项目中,但是该util包的代码是用es6编写的,需要进行编译到在其他软件包中使用的commonJS。我可以手动运行 npm run build ,它将输出包含已编译代码的dist文件夹。
我正在尝试(并研究)是否可以使用.gitlab-ci自动执行此构建过程,但到目前为止我什么都找不到。
任何人都知道我如何实现这一目标和/或这是否可能?
谢谢!
答案 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>