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