#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, чтобы брать образа из него.
Комментариев нет:
Отправить комментарий