Master-X
Форум | Новости | Статьи
Главная » Форум » Работа » 
Тема: Настроить синхронизацию GIT и production сервера
цитата
13/10/16 в 11:14
 hardy
Нужен спец по GIT для решения прикладной задачи icon_smile.gif

Пишите в личку скайп, быстро добавлю, обсудим.
цитата
13/10/16 в 11:29
 Stek
Хотя бы описание задачи в студию. GIT - это контроль версий. Что еще за прикладные задачи на нем можно решать ?
цитата
13/10/16 в 11:41
 hardy
Есть разработчики, которые пушат свою работу в GIT репозиторий. Нужно сделать, чтобы можно было давать клиенту ссылку на domain.com/projects/projName и клиент там видел последний коммит из репозитория projName.
цитата
13/10/16 в 12:44
 vi[:RuS]
gitlab.com
цитата
13/10/16 в 12:55
 johndoe2
Ты забыл указать, куда
Цитата:
разработчики, которые пушат свою работу в GIT репозиторий


github/gitlab/bitbucket или приватный gitlab/bitbucket/gogs?
цитата
13/10/16 в 13:02
 hardy
Gitlab, развернутый на своем хостинге
цитата
13/10/16 в 13:10
 johndoe2
Утрированно:

Код:

domain.com/projects/projName -> /path/show.php?prj=projName

<?php
// show.php

chdir('/git-projects-root/'.$_GET['prj']);
header('Content-Type: text/plain;charset=utf-8');
passthru('git show');



А лучше создать аккаунт для заказчика, добавить его к проекту с правами только на чтение и пусть весь проект видит.
цитата
13/10/16 в 13:36
 hardy
Всех плюсую icon_smile.gif

johndoe2: большинство проектов маленькие и заниматься добавлением заказчика в проект нецелесообразно, да им и не нужно.

Сформулировал более четко:
1) Есть директория на сайте, допустим domain.com/projects/
2) Есть gitlab, развернутый на своем хостинге
3) Во время создания репозитория с именем projName (в репозитории будет храниться верстка сайта, то есть просто html-странички и папка assets со стилями, картинками и тд.) нужно в директории projects на сайте создавать директорию проекта domain.com/projects/projName/
4) При каждом push в репозиторий обновлять файлы в domain.com/projects/projName/
5) Клиент не имеет доступа к репозиторию, просто должен иметь возможность видеть в браузере domain.com/projects/projName/
цитата
13/10/16 в 15:24
 johndoe2
Под "показывать последний коммит" ты имел в виду, чтоб клиент мог видеть текущее состояние верстки? Тогда ведь можно просто отобразить http://domain.com/projects/ на /git-root-path/

В поставке gitlab есть свой nginx. Если у тебя именно этот коробочный nginx сидит на порту 80, тогда лучше в него не лезть (конфиги там puppet-ом управляются), а установить в систему пакет nginx и повесить смотрелку через него на порту 8080 как http://domain.com:8080/projects/ (а порт 80 не использовать вообще).

Если уже используешь системный nginx как точку входа в gitlab, тогда в его конфиге допиши отображение, и смотрелка будет на порту 80 работать как http://domain.com/projects/
цитата
13/10/16 в 16:51
 Stek
В кратце по заданию, если правильно понял:

1. Разработчик пушит изменения на твой гит сервер. На удаленном сервере изменения автоматом не появятся. Надо или кроном или в ручную делать пул.

2. Как понимаю нужно видеть не последний коммит, а просто актуальную версию. В принципе тем же кроном с git pull - можно обновлять. Но тут всегда будет видна только определенно выбранная ветка. Если их несколько, то все равно будет видна только выбранная, не смотря даже на то, что изменения активно идут. Т.е. опять же в ручную надо будет выбирать ветку.

3. Ну а в браузере открыть директорию с результатом на просмотр и скажем закрыть ее паролем, уже труда не составит.

Т.е. сделать можно, но без ручных действий не избавиться.


johndoe2 писал:
А лучше создать аккаунт для заказчика, добавить его к проекту с правами только на чтение и пусть весь проект видит.

Наиболее правильное решение.


Эта страница в полной версии