【发布时间】:2020-02-23 19:10:15
【问题描述】:
我已经为我的项目配置了 gitlab ci/cd 管道。所以我使用了基础模板,它有两个阶段,构建和打包。构建阶段构建项目并创建 jar 文件和打包阶段创建映像并将其存储在容器注册表中。并且 .gitlab-ci.yml 文件已经创建。下面是文件
image: docker:latest
services:
- docker:dind
stages:
- build
- package
build:
image: gradle:5.6.1-jdk11
stage: build
script:
- gradle clean build -x test
artifacts:
paths:
- build/libs/*.jar
package:
stage: package
script:
- docker build -t registry.gitlab.com/my-project/sample .
- docker login -u $CI_DOCKER_USERNAME -p $CI_DOCKER_PASSWORD registry.gitlab.com
- docker push rregistry.gitlab.com/my-project/sample
当我们想要添加新功能时,我们显然会创建新分支,并且由于该文件也存在于新分支中,因此会触发构建。但我不想触发所有分支的构建。我只想触发开发和掌握。无论如何我们可以在项目级别做到这一点,而不是在每个阶段添加only
【问题讨论】:
标签: continuous-integration gitlab gitlab-ci pipeline