我正在努力从Jenkins迁移到Gitlab CI / CD。我有一个Jenkins项目,它按需执行一些任务(用户可以在需要的任何时间运行它),它不是构建/部署的一部分。我需要将此任务添加到GitLab CI / CD管道中,但要保留手动仅运行此任务的机会。最好的解决方案是什么?谢谢。
答案 0 :(得分:1)
看看作业定义here的import pygame
pygame.init()
screen = pygame.display.set_mode((800,600))#, depth=32)
surface1 = screen.convert_alpha()
surface1.fill([0,0,0,0])
pygame.draw.circle(surface1, (255, 0, 0, 128), (325, 250), 100)
surface2 = screen.convert_alpha()
surface2.fill([0,0,0,0])
pygame.draw.circle(surface2, (0, 255, 0, 128), (475, 250), 100)
surface3 = screen.convert_alpha()
surface3.fill([0,0,0,0])
pygame.draw.circle(surface3, (0, 0, 255, 128), (400, 350), 100)
screen.fill([255,255,255]) # white background
screen.blit(surface1, (0,0))
screen.blit(surface2, (0,0))
screen.blit(surface3, (0,0))
pygame.display.flip()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
running = False
pygame.quit()
参数。您可以在管道配置中具有任意数量的步骤,这些步骤可以手动或自动开始,也可以将两者任意组合。
例如,一个常见的用例是构建应用程序,运行测试,然后等待手动输入进行部署。
when
stages:
- build
- deploy
build:
stage: build
only:
- tags
script:
- ./buildScript.sh
deploy_to_prod:
stage: deploy
only:
- tags
when: manual
script:
- ./deployScript.sh
意味着该工作只有在有人按下管道用户界面中的播放按钮(或其他方式)后才能开始。