Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Конфигурирование GitLab CI

#git #gitlab_ci #gitlab_runner


Доброго времени суток. 

Я разрабатываю приложения на C# .Net 4.0 в качестве системы контроля версий использую
gitlab 8.8.5, которую установил на Ubuntu. Теперь появилась необходимость в CI. Установил
все необходимое для этого gitlab-ci-multi-runner. Для проекта создал раннер. Добавил
в корень мастер ветки файлик .gitlab-ci.yml, при пуше запускается build все нормально.
Не могу правильно сконфигурировать .gitlab-ci.yml(что туда необходимо добавить) для
построения моего проекта и деплой на другой сервер. Сервер не имеет подключения к интернету.
    


Ответы

Ответ 1



Чтобы понять, что есть что в .gitlab-ci.yml, лучше начать с совсем простых конфигов из GitLab Pages Вот например конфиг для lektor: image: python:2.7 pages: script: - pip install lektor - lektor build --output-path public artifacts: paths: - public only: - master image - это образ докера, который вы берете за основу. pages - это просто название этапа. У вас может быть build, test или deploy, или еще что-то. То что должно запускаться, вы записываете в script. Просто команды одну за одной как если бы вы запускали их из командной строки. artifacts - это откуда брать бинарники(или что там у вас генерится в процессе билда), чтобы положить это в секцию Artifacts каждого билда C помощью only и except можно гибко наруливать так, чтобы этап выполнялся для пуша только в эту ветку, или, соответственно, для пуша во все ветки кроме указанной Если у вас есть какие-то секретные ключи, то не нужно их класть в .gitlab-ci.yml. Для этого есть секция Variables в настройках вашего проекта. Чтобы у вас сначала билдилось, потом деплоилось, нужно задать stages: stages: - build - deploy Если stages не задать, то этапы будут выполняться параллельно, т.е. деплоиться будет не зависимо от того, сбилдилось ли. @marsel-arduanov в общем правильную ссылку вам скинул, но там много всего, и сходу не разберешься куда бежать. В итоге ваш конфиг может выглядеть как-то так, например: image: microsoft/dotnet stages: - build - deploy build: script: - - artifacts: paths: - build deploy: script: - only: - master Для ситуации когда нет интернета, можно использовать встроенный Container Registry, чтобы брать образа из него.

Комментариев нет:

Отправить комментарий