2016-11-25 9 views
0

В настоящее время я разрабатываю проект, содержащий Angular SPA Frontend Repo и back-back-ретрансляцию 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 

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

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

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

Если у вас возникли проблемы, потому что вы используете докеретизированные бегуны, получите все, что работает на докере OUTSIDE, с бегуном для оболочки на виртуальной машине Linux, а затем перейдите в контейнеры. Это ошибка номер один, которую делают люди.

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