gitlab-runner注册到gitlab。发布时报错:The scheduler failed to assign job to the runner, please try again or contact system administrator

查了下exceptions_json.log,有ActiveModel::MissingAttributeError,can’t write unknown attribute 的报错,看了下exception.sql的内容,里面有个update语句“UPDATE "ci_builds_metadata" SET "config_options" = '{"script":[\"echo \\"mvn clean \\"","echo \\"mvn install\\""]}' WHERE "ci_builds_metadata"."" = 433”,语句里面可以看到是where后面查询条件的字段是空的,不知道前面的报错内容是不是指这里字段缺失,要怎么解决,谢谢,完整报错如下 { "severity": "ERROR", "time": "2023-02-01T01:10:32.246Z", "correlation_id": "01GR58CZVHH5MVN50DPWH4ESAZ", "exception.class": "ActiveModel::MissingAttributeError", "exception.message": "can't write unknown attribute“,
“exception.backtrace”: [
“lib/gitlab/database/load_balancing/connection_proxy.rb:120:in block in write_using_load_balancer'", "lib/gitlab/database/load_balancing/load_balancer.rb:115:in block in read_write’”,
“lib/gitlab/database/load_balancing/load_balancer.rb:184:in retry_with_backoff'", "lib/gitlab/database/load_balancing/load_balancer.rb:111:in read_write’”,
“lib/gitlab/database/load_balancing/connection_proxy.rb:119:in write_using_load_balancer'", "lib/gitlab/database/load_balancing/connection_proxy.rb:71:in transaction’”,
“lib/gitlab/database.rb:332:in block in transaction'", "lib/gitlab/database.rb:331:in transaction’”,
“app/models/concerns/cross_database_modification.rb:83:in transaction'", "app/services/ci/register_job_service.rb:258:in assign_runner!’”,
“app/services/ci/register_job_service.rb:184:in process_build'", "app/services/ci/register_job_service.rb:84:in block in process_queue’”,
“app/services/ci/register_job_service.rb:142:in block in each_build'", "app/services/ci/register_job_service.rb:142:in each’”,
“app/services/ci/register_job_service.rb:142:in each_build'", "app/services/ci/register_job_service.rb:57:in process_queue’”,
“app/services/ci/register_job_service.rb:33:in block in execute'", "lib/gitlab/ci/queue/metrics.rb:97:in observe_queue_time’”,
“app/services/ci/register_job_service.rb:32:in execute'", "lib/api/ci/runner.rb:152:in block (2 levels) in class:Runner’”,
“ee/lib/gitlab/middleware/ip_restrictor.rb:14:in block in call'", "ee/lib/gitlab/ip_address_state.rb:10:in with’”,
“ee/lib/gitlab/middleware/ip_restrictor.rb:13:in call'", "lib/api/api_guard.rb:215:in call’”,
“lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in call'", "lib/gitlab/middleware/memory_report.rb:13:in call’”,
“lib/gitlab/middleware/speedscope.rb:13:in call'", "lib/gitlab/database/load_balancing/rack_middleware.rb:23:in call’”,
“lib/gitlab/middleware/rails_queue_duration.rb:33:in call'", "lib/gitlab/metrics/rack_middleware.rb:16:in block in call’”,
“lib/gitlab/metrics/web_transaction.rb:46:in run'", "lib/gitlab/metrics/rack_middleware.rb:16:in call’”,
“lib/gitlab/jira/middleware.rb:19:in call'", "lib/gitlab/middleware/go.rb:20:in call’”,
“lib/gitlab/etag_caching/middleware.rb:21:in call'", "lib/gitlab/middleware/query_analyzer.rb:11:in block in call’”,
“lib/gitlab/database/query_analyzer.rb:37:in within'", "lib/gitlab/middleware/query_analyzer.rb:11:in call’”,
“lib/gitlab/middleware/multipart.rb:173:in call'", "lib/gitlab/middleware/read_only/controller.rb:50:in call’”,
“lib/gitlab/middleware/read_only.rb:18:in call'", "lib/gitlab/middleware/same_site_cookies.rb:27:in call’”,
“lib/gitlab/middleware/handle_malformed_strings.rb:21:in call'", "lib/gitlab/middleware/basic_health_check.rb:25:in call’”,
“lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in call'", "lib/gitlab/middleware/request_context.rb:21:in call’”,
“lib/gitlab/middleware/webhook_recursion_detection.rb:15:in call'", "config/initializers/fix_local_cache_middleware.rb:11:in call’”,
“lib/gitlab/middleware/compressed_json.rb:26:in call'", "lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in call’”,
“lib/gitlab/middleware/sidekiq_web_static.rb:20:in call'", "lib/gitlab/metrics/requests_rack_middleware.rb:77:in call’”,
“lib/gitlab/middleware/release_env.rb:13:in `call’”
],
“exception.sql”: “/application:web,correlation_id:01GR58CZVHH5MVN50DPWH4ESAZ,endpoint_id:POST /api/:version/jobs/request,db_config_name:main/ UPDATE “ci_builds_metadata” SET “config_options” = ‘{“script”:[“echo \“mvn clean \””,“echo \“mvn install\””]}’ WHERE “ci_builds_metadata”.”” = 433",
“user.username”: null,
“tags.program”: “web”,
“tags.locale”: “en”,
“tags.feature_category”: “continuous_integration”,
“tags.correlation_id”: “01GR58CZVHH5MVN50DPWH4ESAZ”,
“extra.build_id”: 433,
“extra.build_name”: “build”,
“extra.build_stage”: “build”,
“extra.pipeline_id”: 76,
“extra.project_id”: 190
}

这个时候可以查看一下runner那边的日志,server端的这个日志和这个没啥关联。您这边方便看一下runner端的日志吗?默认也是在/var/log/gitlab/目录下

runner端没有输出日志,感觉就没有获取到runner,用gitlab-rake检查了下,发现sidekiq的检查结果是no,不知道和这个有没有关系

sidekiq没有起来,说明后端有服务异常。可以使用gitlab-ctl status查看一下各个服务的状态,然后runner端正常来说,执行了register命令并创建了对应runner的话,那么在日志目录下可以看到日志,您可以在runner所在机器上先使用gitlab-runner list命令查看一下是否有runner信息。