我正在尝试为使用Grunt(https://github.com/yeoman/generator-angular)的旧客户端项目设置GitLab CI / CD。
到目前为止,部署的工作方式如下:
创建.gitlab-ci.yml并进行提交后,GitLab CI / CD作业将通过,但存储库中'dist'文件夹中的文件不会更新。如果我定义了一个工件,我将在下载中获取更改的文件。但是我希望更新'dist'文件夹中的文件,以便我们继续使用适合我们的相同工作流程。这可以实现吗?
答案 0 :(得分:0)
我不认为在管道中加入你的回购是个好主意。版本控制不会那么清楚,有些人在推送回购时会有自动管道触发,这会触发管道循环。
相反,您可能会重新组织您的环境以使用Docker,在专业和开发环境中使用Docker的原因有很多。仅举几例:这使您能够将刚建好的项目保存到注册表中,并在需要时使用您需要的版本并在内部使用所需的/dist
重用它。这样您就可以轻松地在多个地方运行它,扩展它,管理它等。
如果您更改为Docker,那么为了让dist
持久化,您实际上不需要做任何事情,只需在构建完成后将图像推送到注册表。
但要真正回答您的问题:
有一个功能请求会在很长一段时间内因您提出的问题而挂起:here。目前没有安全和专业的方式来做GitLab成员国。虽然您可以像GitLab成员之一建议的那样推迟更改(KamilTrzciński):
git push http://gitlab.com/group/project.git HEAD:my-branch
只需将其放在script
文件中的gitlab-ci
部分即可。
这里有更多的hack'y方法,但一定要承认它们带来的风险(管道更容易出错,如果以错误的方式配置,它们可能会发布一些机密信息并触发无限管道循环来命名一些)。
我希望你发现这很有用。