Проблемы с развертыванием статического сайта с помощью Gitlab CI

В настоящее время я разрабатываю проект, содержащий репозиторий Angular SPA Frontend Repo и репозиторий backend nodeJS. Я искал способы развертывания моих приложений в RHEL / centOS с помощью Gitlab-CI после компиляции / минимизации моего проекта. Проблема в том, что я не могу понять, как использовать, например. Компрессор YUI для сжатия в файле gitlab-ci.yml. У меня также есть проблемы с использованием, например, SSH для развертывания моих файлов в моей общей папке на моем веб-сервере или для запуска pm2 для перезагрузки приложения. Я бы хотел реализовать базовое модульное тестирование в этом подходе, но я все еще не могу понять, как это делается. Буду рад услышать от вас любые предложения, которые могут расширить мои познания. Спасибо!


person Nicolai Schmid    schedule 25.11.2016    source источник


Ответы (1)


Предполагая, что вы используете yuicompressor как банку, как насчет того, чтобы написать это в .gitlab-ci.yml:

build:
  script:
  - yuicompressor.sh

Убедитесь, что в вашем пути есть сценарий оболочки, который chmod +x бит делает это:

#!/bin/sh
java -jar /path/to/your/yuicompressor-x.y.z.jar

Этот файл должен находиться на вашей виртуальной машине runner с именем yuicompressor.sh. Мне кажется плохим жестко закодировать пути к ресурсам на ваших бегунах в .gitlab-ci.yml.

Обратите внимание, что для приложения Java могут потребоваться другие аргументы.

Я помещаю все исполняемые инструменты (в основном скрипты), которые нужны моим бегунам, в папку /glrunner/tools и помещаю /glrunner/tools в PATH моего бегуна, когда я его запускаю.

Если у вас возникли проблемы из-за того, что вы используете Dockerized runners, заставьте все работать OUTSIDE docker с помощью shell runner на виртуальной машине Linux, а затем перейдите в контейнеры. Это ошибка новичков номер один, которую делают люди.

Если вы используете контейнеры и у вас есть файл Dockerfile для вызова инструментов, возможно, вам не нужно будет рассматривать статические папки «инструменты / скрипты», как я изначально предлагал, но это хороший способ начать работу, изучите Gitlab CI. Сначала бегуны, а затем изучают Docker.

person Warren P    schedule 25.11.2016