GitLab CI(Continuous Integration,持续集成)是GitLab提供的一个功能,它允许开发者通过定义.gitlab-ci.yml
文件来自动化构建、测试和部署代码。这个文件定义了一系列的作业(jobs),每个作业可以包含一系列的步骤(steps),这些步骤会按顺序执行。
GitLab CI中的作业可以根据触发条件分为多种类型:
如果你想要配置GitLab CI,使得某个作业只在手动触发或者仅在master分支上有代码提交时运行,可以在.gitlab-ci.yml
文件中使用only
和except
关键字来指定触发条件。
以下是一个示例配置:
stages:
- build
build_job:
stage: build
script:
- echo "Running build job"
- # 这里可以添加构建命令
only:
- master
except:
- schedules
在这个配置中:
only
关键字指定了作业只在master分支上运行。except
关键字指定了作业不会在定时任务(schedules)触发时运行。如果你还想要添加手动触发的选项,可以在GitLab项目的CI/CD设置中配置一个手动触发的作业。
如果你发现作业没有按预期运行,可能的原因包括:
.gitlab-ci.yml
文件中的语法错误或者逻辑错误。.gitlab-ci.yml
文件没有语法错误,并且逻辑符合预期。通过以上配置和调整,你应该能够实现当手动或仅当master时运行构建作业的需求。
领取专属 10元无门槛券
手把手带您无忧上云