Aleksandr
Vladimir
A
Ну а отрабатывает dep чисто на ssh или по https что-то отдается-таки?
Vladimir
A
А ждете долго? У меня так-то dep отрабатывает, просто приходится ждать, пока начнет фоллбекаться на ssh.
Aleksandr
Vladimir
A
На go get, в принципе, можно забить, но вот ожидание dep напрягает несколько.
Vladimir
@altai256 ну это ж разовое действо
Vladimir
потом все равно вендор коммитить
A
Ну, насколько понимаю, он для каждого импорта будет вначале пытаться ломиться по https, и только после таймаута - по ssh. И если их много...
Vladimir
Vladimir
я им уже дважды PRы слал
Vladimir
по мелочи
Aleksandr
Aleksandr
A
кстати, а у тебя урл до репо какого вида? [host]/[username]/[repo]?
Вида [url "git@git.example.org:"] и в ~/.ssh/config прописан хост, юзер и ключ. Если же написать в формате [url "ssh://git@git.example.org:port/"], то тоже работает, но только если не использовать ~/.git/config, при наличии же отдельной записи в ~/.git.config работает только первый вариант.
Aleksandr
Aleksandr
возможно ты урл неверный для go get указываешь
Aleksandr
должен быть урл веб-морды
A
Использую "copy url to clipboard" кнопочку, разве что ".git" в конце удаляю.
A
Да go get и не нужен, лишь бы dep адекватно отрабатывал.
A
А... В go get-то да, без протокола, конечно.
A
Как и писал
go get -v git.blabla.bla/my/repo
Fetching https://git.blabla.bla/my/repo?go-get=1
https fetch failed: Get https://git.blabla.bla/my/repo?go-get=1: dial tcp 1.2.3.4:443: i/o timeout
package git.blabla.bla/my/repo: unrecognized import path "git.blabla.bla/my/repo" (https fetch: Get https://git.blabla.bla/my/repo?go-get=1: dial tcp 1.2.3.4:443: i/o timeout)
Aleksandr
попробуй go get -v -insecure ..
A
попробуй go get -v -insecure ..
Пробовал. Но по тому адресу редирект на форму входа, так что без разницы на деле.
У меня ситуация ровно такая же, как и у @Civiloid: есть приватный гитлаб и доступ по ssh-ключам, http/https никакой не нужен и недоступен. Нужно завтавить работать dep без указания ".git" на конце пакетов. Работать он работает, он очень медленно, из-за того, что не сразу пробует по ssh коннектиться.
Vladimir
Vladimir
завести issue
Vladimir
а можешь смириться, потому что dep ранится далеко не на каждый коммит
Vladimir
и чекаут
A
У них там была одна issue на эту тему, где "вроде как надо, да", но что-то в итоге тихо. Ладно, видимо придется-таки разобраться и PR сделать в крайнем случае. :)
A
Всем спасибо. :З
Aleksandr
Vladimir
@altai256 а в чем проблема скорости то?
Vladimir
ну делает долго деп эншур
Vladimir
ты ж все равно потом вендор комитишь
Aleksandr
я пока ждал твоего фидбека по последнему вопросу уже нагуглили еще пяток вариантов. и не пойму, как ты до сих пор сам не починил это
Aleksandr
A
Ну так в чем решение, как заставить его работать по ssh по-умолчанию, не открывая доступ по http?
Aleksandr
у тебя есть доступ по http
A
Нет, там 302 редирект всегда на форму входа.
Aleksandr
я и говорю - проще с этим разобраться. потому что ?go-get=1 должен быть публичным
Aleksandr
и он есть в гитлабе с 2014 года
Aleksandr
(на этом у меня все)
Anatoliy
Может кто подскажет как правильно и не особо заморачиваясь организовать процесс деплоя на VPS типа Digital Ocean? Хочется что-то типа деплоя на Heroku: пушить на удаленный репозиторий, а там собирается и запускается само
🎉
Anatoliy
подробнее
🎉
Не сказать что это продакшен, пишу для себя любимого, но рабочая схема у меня на данный момент такая. Захожу на сервер,
mkdir project
cd project
git init
git add .
git commit -m "first commit"
Теперь создадим отдельную ветку production
git checkout -b production
На домашнем ПК
git clone ssh://user@8.8.8.8/home/project
Я могу такое позволить потому что я заранее сделал ключи для ssh. На сервере, переключаемся на master
git checkout master
Теперь, нужно создать скрипт, который при пуше смержит production с master
и перезапустит мой проект
cd project
touch .git/hooks/post-receive
nano .git/hooks/post-receive
Вставляем туда
#!/bin/sh
cd ..
env -i git merge production
sudo systemctl stop app
sudo systemctl start app
Разумеется у нас есть конфиг systemd - /etc/systemd/system/app.service, через него происходит стоп и старт проекта. Как-то так.
🎉
подробнее
Минус в том, что на сервере я юзаю sqlite и оно лежит в рабочей папке, база имеет свойство обновляться. Иногда могут возникнуть неполадки када хотим пуш сделать, то есть лучше зайти туды, и на всякий случай изменения откоммитить. Мне чот замарачиваться не хочется, наверняка есть способ обойти.
Vasilii
а зачем sqlite в git?
Vasilii
есть одна старая, но очень хорошая статья про деплои гитом: http://gitolite.com/deploy.html
Vasilii
там 6 способов описано, как деплоить с помощью гита с учетом разных требований
🎉
Была-бы на русском))
Vasilii
На русском могу скинуть статью про деплои 1С
🎉
A
и он есть в гитлабе с 2014 года
Лол, проблемы таки нет, как оказалось. :)
Когда руками курлом дергал с go-get=1 очепятался где-то: ещё раз проверил, и, действительно, 302 редиректа нет.
Потом подольше подождал с -insecure, а он-таки достает по http, просто уже после таймаута для https. То есть сертификат достаточно накатить, чтобы сразу работало.
Aleksandr
Лол, проблемы таки нет, как оказалось. :)
Когда руками курлом дергал с go-get=1 очепятался где-то: ещё раз проверил, и, действительно, 302 редиректа нет.
Потом подольше подождал с -insecure, а он-таки достает по http, просто уже после таймаута для https. То есть сертификат достаточно накатить, чтобы сразу работало.
я и гвоорил, разберись в урле, по которому go-get отдается. а ты говоришь причем тут урл
🎉
@kirilldanshin а в грэйм есть http2 и вебсокеты?
🎉
Aleksandr
да, в ирисе такого не было....
🎉
Я так понимаю, если этот руководитель ириса, тырил чужой код, это нормально у него куски кода изымать для нужд пролетариата?
Aleksandr
в смысле воровать ворованое?
Alexander
грабь награбленное (с)
🎉
Slava
пока ты на этих кусках делаешь свой небольшой сайтик - вполне =)
Slava
другой вопрос, что правильнее брать поддерживаемый код
Slava
php стайл прям
🎉
Ну а какие варианты? Заюзать ирис?
Slava
ага, кроме ириса других вариантов нет