Gitlab runner跑得太长

Gitlab runner跑得太长,gitlab,jekyll,gitlab-ci,Gitlab,Jekyll,Gitlab Ci,我创建了一个静态站点,现在尝试配置GitLab CI/CD 该站点的源代码位于远程服务器上 这是我的gitlab-ci.yml image: ruby:2.6 variables: JEKYLL_ENV: production before_script: - gem install bundler - bundle install deploy: stage: deploy script: - bundle exec jekyll build --watch

我创建了一个静态站点,现在尝试配置GitLab CI/CD

该站点的源代码位于远程服务器上

这是我的gitlab-ci.yml

image: ruby:2.6


variables:
  JEKYLL_ENV: production

before_script:
  - gem install bundler
  - bundle install

deploy:
  stage: deploy
  script:
  - bundle exec jekyll build --watch 

  only:
    - master
我使用
--watch
,因为如果不正确使用--watch作业传递,更改会显示在本地计算机上,但远程服务器上不会显示更新

答案中有一行:

自动重新生成:对“/builds/wiki/docplus”禁用。使用--watch启用

但使用
--watch
时,我推送我的提交,gitlab runner运行时间过长,作业失败

$ bundle exec jekyll build --watch
Configuration file: /builds/wiki/docplus/_config.yml
            Source: /builds/wiki/docplus
       Destination: /builds/wiki/docplus/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 1.863 seconds.
 Auto-regeneration: enabled for '/builds/wiki/docplus'
Pulling docker image gitlab/gitlab-runner-helper:x86_64-003fe500 ...
ERROR: Job failed: execution took longer than 1h0m0s seconds

有什么问题吗?

更新您的
deploy.script
以仅
build
(不带
——查看
):

部署:
阶段:部署
脚本:
-bundle-exec-jekyll构建

我试过了,作业通过了,但是。。。不带标志“-watch”自动再生被禁用,并且所有更新都不会显示在站点上。在本地计算机上运行
jekyll build
时,您可以使用
--watch
。使用CI/CD部署站点时,每次推送到存储库都会触发一个新作业。此外,在本地计算机上开发站点时,您可以运行
jekyllserve
(默认情况下包括
--watch
)并将浏览器指向
http://localhost:4000
。我的问题的更新说明问题不在本地计算机上,问题在于远程服务器上的更新。看起来您没有正确理解问题。让我试着解释一下。GitLab Runner在每次推动回购时都会运行一个作业。运行程序根据流程在预定义的时间内发送的退出状态将作业视为已完成。现在,当您运行
jekyll build--watch
时,该进程永远不会发送退出状态(因为它意味着在您手动终止该进程之前,监视repo的更改)。