Gitlab runner跑得太长
我创建了一个静态站点,现在尝试配置GitLab CI/CD 该站点的源代码位于远程服务器上 这是我的gitlab-ci.ymlGitlab 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
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的更改)。