LINUX.ORG.RU

Gitea + DroneCI не стартует билд

 ,


0

1

Собираю CI на базе указанных в заголовке продуктов. Насколько мне известно у местных был опыт подобного занятия. В общем все стоит, gitea, drone успешно авторизовался и загрузил список реп, активировал те репы что нужны для сборки. Поставил docker-agent, он пишет в логах что все хорошо, подключился, жду пайплайны на выполнение. Положил в корень репы файл .drone.yml с таким вот содержимым:

kind: pipeline
type: docker
name: default
steps:
  - name: say-hello
    image: busybox
    commands:
      - echo hello-world
trigger:
  branch:
    - master
  event:
    - push

Делаю пуш в репу, никакой реакции, гробовая тишина, drone молчит, agent все так же ожидает входящий пайплайн. Подскажите как диагностировать проблему?



Последнее исправление: Serbis (всего исправлений: 3)

активировал те репы что нужны для сборки

Переклчателем в вебне на стороне Drone?

Начни с логов Drone, затем, если ничего в них не найдёшь, смотри уже логи Gitea и убеждайтся, что хук сработал.

Я несколько лет назад настраивал, не помню каких-либо подводных камней по запуску, особых рекомендация помимо очевидной — смотреть логи — дать не могу.

P.S. Не забудь установить в окружении флажок, чтобы включить дебаг. Раз, два.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Спасибо за идею влкючить дебаг лог) В общем разобрался, проблема была в путанице с параметрами DRONE_HOST и DRONE_SERVER_HOST, крайне неудачные названия, не понятно что есть что. Только вот теперь у меня новая проблема, при выполнении пайплана я получаю следующее.

Initialized empty Git repository in /drone/src/.git/
+ git fetch origin +refs/heads/master:
fatal: unable to access 'http://gitea:3000/disc/foo.git/': Could not resolve host: gitea

Хост gitea это хост внутри моей ingress сети, и получается что контейнер не видит dns моей ingress сетки?

Serbis
() автор топика
Ответ на: комментарий от WitcherGeralt

Вот как сейчас у меня там все собрано

gitea:
    image: gitea/gitea:1.13.4
    ports:
      - target: 3000
        published: 3000
      - target: 22
        published: 3022  
    deploy:
      replicas: 1
      placement:
        constraints:
          - "node.labels.dev==true"        

    volumes:
      - gitea_vol:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    
    secrets:
      - gitea-ssl-key 
      - gitea-ssl-crt 

  drone:
    image: drone/drone:1
    ports:
      - target: 3100
        published: 3100
    deploy:
      replicas: 1
      placement:
        constraints:
          - "node.labels.dev==true"        
    volumes:
      - drone_vol:/data  
    environment: 
      - DRONE_LOGS_TEXT=true
      - DRONE_LOGS_PRETTY=true
      - DRONE_LOGS_COLOR=true
      - DRONE_LOGS_DEBUG=true 
      - DRONE_AGENTS_ENABLED=true
      - DRONE_GITEA_SERVER=http://gitea:3000
      - DRONE_GITEA_CLIENT_ID=13f23963-ed07-4b55-84c3-bb4c88004269
      - DRONE_GITEA_CLIENT_SECRET=tEjNjAC6hnoK8mscmrM-Lh_LvSA564fgSnnZRPCWNF8=
      - DRONE_RPC_SECRET=7eb34c9bea0a8098f92fe7482d212f7b
      - DRONE_HOST=http://drone:3100
      - DRONE_SERVER_HOST=drone:3100
      - DRONE_SERVER_PORT=:3100
      - DRONE_SERVER_PROTO=http
      - DRONE_TLS_AUTOCERT=false
      - DRONE_GIT_ALWAYS_AUTH=false

  drone-runner:
    image: drone/drone-runner-docker:1
    ports:
      - target: 3000
        published: 3200
    deploy:
      replicas: 1
      placement:
        constraints:
          - "node.labels.dev==true"    
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=drone:3100
      - DRONE_RPC_SECRET=7eb34c9bea0a8098f92fe7482d212f7b
      - DRONE_RUNNER_CAPACITY=2 
      - DRONE_RUNNER_NAME=runner
Serbis
() автор топика
Ответ на: комментарий от WitcherGeralt

Типично для лора, лол.

Типично для лора предполагать что используемый инструмент нужен всем и все должны его использовать.

anonymous
()
Ответ на: комментарий от Serbis

fatal: unable to access ‘http://gitea:3000/disc/foo.git/’: Could not resolve host: gitea

Тоесть из этой строки ты реально не понял что произошло? Хоспади. либо вноси gitea в локальный резолв /etc/hosts либо меняй на localhost 127.0.0.x

anonymous
()
Ответ на: комментарий от anonymous

Там сверху ингрес сеть докера,хост gitea шарится внутренним dns этой сети и он постоянно прыгает по динамическим ip, сейчас он 10.0.1.174, презеапущу сервис и он окажется на 10.0.1.150 еще раз перезапущу и будет опять другой ip. Тут вопрос в том, как соеденить сеть верхнего докера с нижним.

Serbis
() автор топика
Ответ на: комментарий от WitcherGeralt

А это не кубик, это докер. Просто получается что ни один Getting Started мануал по drone не будет работать из-за этой ошибки.

Serbis
() автор топика
Ответ на: комментарий от Serbis

Аааааа, это квест заслуживает звания лучшего админского триала за последний год)))) Создал бридж сеть, подоткнул ко всем сервисам участвующим в процессе:

networks:
  cinet:
    name: cinet
    attachable: true

Плюс ткнул ее же в настройки раннера:

DRONE_RUNNER_NETWORKS=cinet

И о чудо, домен gitea разрешился изнутри контенера пайплайна, но теперь свершилось это:

Initialized empty Git repository in /drone/src/.git/
+ git fetch origin +refs/heads/master:
fatal: could not read Username for 'http://gitea:3000': terminal prompts disabled

Так, пойду за пивасом, без него уже не интересно))))

Serbis
() автор топика
Последнее исправление: Serbis (всего исправлений: 3)
Ответ на: комментарий от WitcherGeralt

Ага, я вот как раз оттуда настроечку перетащил:

DRONE_GIT_ALWAYS_AUTH=true

Ну в общем 12 часов страданий, по лицу стекает кровь смешанная с холодным потом от сломанной сетки кластера, пальцы стерты об клавиатуру, но оно наконец-то заработало!

Теперь осталось совсем чуть чуть, развенуть нексус и настроить кросс сборку gradle проектов внутри всего этого дела с развертыванием образов в регистре.

Всем спасбо за помощь!

З. Ы. Сегодня понял что настройка CI в облаке самая сложная задача с которой мне приходилось иметь дело. Все остальное просто шляпа в сравнении с этим.

Serbis
() автор топика
Последнее исправление: Serbis (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.