Size: a a a

2020 April 12

M

Mikhail in ru_gitlab
вывод в окошке job'а
Running with gitlab-runner 12.9.0 (4c96e5ad)
 on localhost.localdomain udsCFTJV
Preparing the "docker" executor
Using Docker executor with image alpine:latest ...
Pulling docker image alpine:latest ...
Using docker image sha256:a187dde48cd289ac374ad8539930628314bc581a481cdb41409c9289419ddb72 for alpine:latest ...
Preparing environment
Running on runner-udsCFTJV-project-17490015-concurrent-0 via localhost.localdomain...
Getting source from Git repository
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/kernel-panic-team/ci-cd-test/.git/
fatal: unable to access 'https://gitlab.com/kernel-panic-team/ci-cd-test.git/': Could not resolve host: gitlab.com
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
источник

M

Mikhail in ru_gitlab
вывод самого runner'а
Runtime platform                                    arch=386 os=linux pid=13033 revision=4c96e5ad version=12.9.0
Starting multi-runner from /etc/gitlab-runner/config.toml...  builds=0
Running in system-mode.                            
                                                 
Configuration loaded                                builds=0
listen_address not defined, metrics & debug endpoints disabled  builds=0
[session_server].listen_address not defined, session endpoints disabled  builds=0
Checking for jobs... received                       job=507738983 repo_url=https://gitlab.com/kernel-panic-team/ci-cd-test.git runner=udsCFTJV
WARNING: Job failed: exit code 1                    duration=12.554315211s job=507738983 project=17490015 runner=udsCFTJV
WARNING: Failed to process runner                   builds=0 error=exit code 1 executor=docker runner=udsCFTJV
источник

M

Mikhail in ru_gitlab
кусок .gitlab-ci.yml
production:
 stage: deploy
 script:
 - echo $TEST
 only:
 - master
 tags:
 - vmm
источник

M

Mikhail in ru_gitlab
firewall
источник

M

Mikhail in ru_gitlab
сеть
источник

M

Mikhail in ru_gitlab
проблема явно где-то на стороне витруалки/системы-в-виртуалке. Ибо на отдельном сервере всё работало хорошо
источник

M

Mikhail in ru_gitlab
версия gitlab-runner 12.9.0
источник

M

Mikhail in ru_gitlab
погасил firewalld, перезагрузил сервер, это помогло
источник

Г

Гайрат in ru_gitlab
казалось бы, причём тут гитлаб
источник

AA

Andrey A in ru_gitlab
Доброе утро. У меня вопрос по связке ansible и gitlab CI: есть репо с ролями ансибла, я базово настроил, что pipeline для запуска какой-то указанной роли, отрабатывает. Но хочется, чтобы:
- разворачивание только по кнопке (ну это легко, опция manual)
- у меня в репозитории пока несколько ролей и количество будет увеличиваться. Как можно сделать, так, чтобы при коммите в репозиторий, я зашел в pipeline и мог запустить любую указанную роль? (а не ту которая прописал в gitlab-ci.yml) плюс может передать какие-то опции (например limit=some-serve).
Если это уже жевано/пережевано - ткните куда смотреть. В интернете посмотрел, но что-то пока ответа на мой вопрос не нашел
источник

AA

Andrey A in ru_gitlab
https://webworxshop.com/automating-my-infrastructure-with-ansible-and-gitlab-ci-part-2-deploying-stuff-with-roles/ - здесь посмотрел, судя по всему надо делать джобы под каждую роль (c кнопкой запуска)?
источник

AG

Andrey Gumilev in ru_gitlab
Да так
источник

AG

Andrey Gumilev in ru_gitlab
Mikhail
вывод в окошке job'а
Running with gitlab-runner 12.9.0 (4c96e5ad)
 on localhost.localdomain udsCFTJV
Preparing the "docker" executor
Using Docker executor with image alpine:latest ...
Pulling docker image alpine:latest ...
Using docker image sha256:a187dde48cd289ac374ad8539930628314bc581a481cdb41409c9289419ddb72 for alpine:latest ...
Preparing environment
Running on runner-udsCFTJV-project-17490015-concurrent-0 via localhost.localdomain...
Getting source from Git repository
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/kernel-panic-team/ci-cd-test/.git/
fatal: unable to access 'https://gitlab.com/kernel-panic-team/ci-cd-test.git/': Could not resolve host: gitlab.com
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
Так из образа не резолвит
источник

GG

George Gaál in ru_gitlab
Andrey A
Доброе утро. У меня вопрос по связке ansible и gitlab CI: есть репо с ролями ансибла, я базово настроил, что pipeline для запуска какой-то указанной роли, отрабатывает. Но хочется, чтобы:
- разворачивание только по кнопке (ну это легко, опция manual)
- у меня в репозитории пока несколько ролей и количество будет увеличиваться. Как можно сделать, так, чтобы при коммите в репозиторий, я зашел в pipeline и мог запустить любую указанную роль? (а не ту которая прописал в gitlab-ci.yml) плюс может передать какие-то опции (например limit=some-serve).
Если это уже жевано/пережевано - ткните куда смотреть. В интернете посмотрел, но что-то пока ответа на мой вопрос не нашел
> - у меня в репозитории пока несколько ролей и количество будет увеличиваться. Как можно сделать, так, чтобы при коммите в репозиторий, я зашел в pipeline и мог запустить любую указанную роль? (а не ту которая прописал в gitlab-ci.yml) плюс может передать какие-то опции (например limit=some-serve).

либо зашить имя роли в переменную и переопределять через ручное создание пайплайна
источник

D

DjinN in ru_gitlab
Andrey A
Доброе утро. У меня вопрос по связке ansible и gitlab CI: есть репо с ролями ансибла, я базово настроил, что pipeline для запуска какой-то указанной роли, отрабатывает. Но хочется, чтобы:
- разворачивание только по кнопке (ну это легко, опция manual)
- у меня в репозитории пока несколько ролей и количество будет увеличиваться. Как можно сделать, так, чтобы при коммите в репозиторий, я зашел в pipeline и мог запустить любую указанную роль? (а не ту которая прописал в gitlab-ci.yml) плюс может передать какие-то опции (например limit=some-serve).
Если это уже жевано/пережевано - ткните куда смотреть. В интернете посмотрел, но что-то пока ответа на мой вопрос не нашел
Если все руками запускается, не проще ли использовать awx?
источник

GG

George Gaál in ru_gitlab
DjinN
Если все руками запускается, не проще ли использовать awx?
+
источник

AG

Andrey Gumilev in ru_gitlab
Мое мнение лучше делить на джобы в его случае, понятно какие роли есть
источник

M

Mikhail in ru_gitlab
Andrey Gumilev
Так из образа не резолвит
Что было не так с моим сетапом:
1. забыл отключить/настроить selinux, поэтому юзер gitlab-runner не мог подключиться к gitlab.com чтобы пуллить джобы (но это было замечено достаточно быстро)
2. только сейчас понял про какой образ речь :). Действительно проблема была в том, что докер контейнер не мог достучаться до сети, добавил интерфейс docker0 в trusted, забыл перезапустить сервис docker, потерял 1.5 часа.. а так на данный момент раннер нормально работает, чему я, конечно, рад.
Единственное что я так и не понял, это то, что если положить docker0 в public зону firewalld, и в ней разрешить сервисы https http, то, внезапно для меня, контейнер всё равно не может достучаться до gitlab.com. Чуть погуглил, наверно нужно открыть tcp port 9418, он, оказывается дефолтный для git транспорта, я почему то думал, что в данном случае всё через https тянется. Вообще, наверняка есть способ посмотреть какие порты дергает докер во время выполнения (конкретно копирования репозитория) джоба, но чет у меня силы уже закончились) поднял на изи раннера, незнание убивает время))
Спасибо за участие))
источник

AG

Andrey Gumilev in ru_gitlab
Mikhail
Что было не так с моим сетапом:
1. забыл отключить/настроить selinux, поэтому юзер gitlab-runner не мог подключиться к gitlab.com чтобы пуллить джобы (но это было замечено достаточно быстро)
2. только сейчас понял про какой образ речь :). Действительно проблема была в том, что докер контейнер не мог достучаться до сети, добавил интерфейс docker0 в trusted, забыл перезапустить сервис docker, потерял 1.5 часа.. а так на данный момент раннер нормально работает, чему я, конечно, рад.
Единственное что я так и не понял, это то, что если положить docker0 в public зону firewalld, и в ней разрешить сервисы https http, то, внезапно для меня, контейнер всё равно не может достучаться до gitlab.com. Чуть погуглил, наверно нужно открыть tcp port 9418, он, оказывается дефолтный для git транспорта, я почему то думал, что в данном случае всё через https тянется. Вообще, наверняка есть способ посмотреть какие порты дергает докер во время выполнения (конкретно копирования репозитория) джоба, но чет у меня силы уже закончились) поднял на изи раннера, незнание убивает время))
Спасибо за участие))
Нет конечно, всё ссх
источник

AA

Andrey A in ru_gitlab
DjinN
Если все руками запускается, не проще ли использовать awx?
Ну например раскатку на тестовом сервере можно и автоматом сделать.
Awx - не хотелось бы вводить ещё одну сущность, очень кажется что gitlab ci будет достаточно
источник