Continuous integration GitLab CI构建子项目并将它们分别部署到kubernetes
如果我有一个GitLab项目,其中包含多个子文件夹:Continuous integration GitLab CI构建子项目并将它们分别部署到kubernetes,continuous-integration,gitlab,kubernetes,continuous-deployment,gitlab-ci,Continuous Integration,Gitlab,Kubernetes,Continuous Deployment,Gitlab Ci,如果我有一个GitLab项目,其中包含多个子文件夹: 两个java代码(来自java:alpine,使用maven编译和构建容器) 一个是nginx配置(来自openresty:alpine,用于构建web服务器容器) 每个子项目都有一个Dockerfile、deployment.yml和gitlab-ci.yml 对于项目中的每个子文件夹,deployment.yml都是类似的,因为所有子项目都会生成一个多容器kubernetes吊舱 我如何设置此项目以仅构建并部署我在上次提交时编辑的容器
- 两个java代码(来自java:alpine,使用maven编译和构建容器)
- 一个是nginx配置(来自openresty:alpine,用于构建web服务器容器)
我如何设置此项目以仅构建并部署我在上次提交时编辑的容器?我使用了一种肮脏的技巧,例如为每个子项目在.gitlab-ci.yml中设置几个构建块,并为每个子项目上的每个设置
仅参数:
maven-build-akka:
image: maven:3-jdk-8
stage: build
only:
- /^akka-.*$/
script:
- cd akka
- mvn package -B --settings ../settings.xml
artifacts:
paths:
- akka/target/*.jar
对于docker构建阶段
,也是如此
之后,如果我推一个标签,比如akka-1.0.3
,就会启动相应的管道作业
但是,对于单个项目,GitLab CI注册表中的图像只有一个名称存在问题,因此您应该将图像推送到其他地方(GCR等)不应该只检查分支(而不是文件路径)?