Рубрики
Uncategorized

Разработка Gameclosure с Docker и Gitlab CI

Разработать игры с игровой рамкой HTML5 Gameclosure с использованием Docker и Gitlab CI. Docker fo … Tagged с Gameclosure, Docker, CICD, Gitlab.

Разработать игры с игровой рамкой HTML5 Gameclosure с использованием Docker и Gitlab CI.

Docker для разработки

Следуя руководству Gameclosure, я сделал Dockerfile, который имеет Gameclosure/Devkit Установлен где я скопировал manifest.json, package.json и запустить команды в установить зависимости :

COPY --chown=node manifest.json package.json ./
    RUN devkit install
    COPY --chown=node ./package.json ./
    RUN npm install
    CMD ["devkit", "serve"]

Мой проект Только нуждается 2 папки: SRC для исходных кодов и Ресурсы для активов. Это папки, требуемые для Gameclosure, все остальное — зависимости и установлены на изображении Docker. Используя докер-состав , Я Установите эти папки в контейнер и разоблачить порт 9200 .

volumes:
        - ./src:/home/node/game/src
        - ./resources:/home/node/game/resources
    ports:
        - 9200:9200

На хост -машине я могу получить доступ к странице Devkit через браузер по адресу Localhost: 9200 как обычно.

Непрерывное развертывание

Чтобы построить проект, мне нужен другой Docker-Compose Конфигурация в гору A сборка папка и Запустите команду сборки вместо обслуживать .

volumes:
        - ./build:/home/node/game/build
    command: devkit debug browser-mobile

Я не хотел создавать игру вручную, поэтому я использовал сервис Gitlab CI/CD, чтобы получить ее запускает контейнер, строит игра и развертывает для меня страниц. Я создаю это .gitlab-ci.yml Файл с Страницы работа, что Встроить игру в * public* Артефакты :

В отличие от страниц GitHub, которые могут только построить Jekyll, страницы Gitlab могут автоматически строить практически все с помощью сервиса CI/CD.

pages:
        stage: deploy
        script:
            - docker-compose -f docker-compose.yml -f docker-compose.browser-mobile.yml up
            - cp -a build/debug/browser-mobile/. public/
        artifacts:
            paths:
                - public

Теперь, каждый раз, когда я подталкиваю к своему репозиторию Gitlab, игра будет построена и подана на страницах Gitlab.

Оригинал: «https://dev.to/netcell/developing-gameclosure-with-docker-and-gitlab-ci-5em»