Репозиторий: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Инфраструктура переехала в облако от Яндекса)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
Переходим на новые более стабильные сервера. Старый сервер имеет адрес https://lpsztemp.webhop.me со старой (06.04.16) [https://lpsztemp.webhop.me вики], [https://lpsztemp.webhop.me/git репозиторием] и [http://lpsztemp.webhop.me:8080 багтрекером]].
Переходим на сервера от Яндекса. Репозитории на амазоновском сервере больше обновлять не планируется.


Новые репозитории требуют дополнительной конфигурации на клиенте для доступа.
Новые репозитории доступны по адресу https://www.chusov.org/git/.
Доступ к ним осуществляется по HTTPS и SSH протоколам, но при этом требуется [https://www.chusov.org/git/.register/register.php регистрация].


Ниже приведены адреса всех репозиториев.
После регистрации репозитории не будут доступны сразу, а только при дальнейшем распределении пользовательских ролей. О регистрации желательно уведомить по электронной почте или лично.
 
* Старый репозиторий: https://lpsztemp.webhop.me/git
* Новые репозитории (HTTPS и SSH).
** Основной  репозиторий (CAMaaS): https://git-codecommit.us-east-1.amazonaws.com/v1/repos/CAMaaS и ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/CAMaaS
** Дополнительные репозитории:
*** web_js_python: https://git-codecommit.us-east-1.amazonaws.com/v1/repos/web_js_python и ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/web_js_python
*** chsvlib: https://git-codecommit.us-east-1.amazonaws.com/v1/repos/chsvlib и ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/chsvlib
 
==Конфигурация клиентов новых репозиториев==
 
Общее описание взято отсюда:
* Create an AWS CodeCommit Repository: http://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-repository.html#how-to-create-repository-console
* Setup Steps for HTTPS Connections to AWS CodeCommit Repositories on Windows: http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-windows.html
* Setup Steps for SSH Connections to AWS CodeCommit Repositories on Linux, OS X, or Unix: http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-ssh-unixes.html
* Setup Steps for HTTPS Connections to AWS CodeCommit Repositories on Linux, OS X, or Unix: http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html (При баге с gnutls ("gnutls_handshake() failed: Illegal parameter") под Linux нужно заменить дефолтную сборку git'а с curl'ом над gnutls на сборку на основе openssl. Скрипт: https://github.com/TheWookie/git-openssl-shellscript).
 
Для обеспечения совместимости с др. репами в %userprofile%\.gitconfig (Windows) или ~\.gitconfig (Linux) для AWS прописать [credential "https://git-codecommit.us-east-1.amazonaws.com"] вместо [credential].
 
Ниже показаны три алгоритма настройки клиента git, которые были использованы на Windows и двух виртуальных Linux.
 
===Windows===
# Устанавливаем Python (любой) и pip
# Через pip устанавливаем awscli: <code>pip install awscli</code>
# Выполняем <code>aws configure</code>
# По порядку вводим следующее:
## AWS Access Key ID [None]: ''Access Key ID из полученного файла''
## AWS Secret Access Key [None]: ''Secret Access Key из полученного файла''
## Default region name [None]: us-east-1
## Default output format [None]: json
# Если не стоит git, ставим.
# Качаем и ставим [http://sdk-for-net.amazonwebservices.com/latest/AWSToolsAndSDKForNet.msi AWS Tools for Windows PowerShell].
# Нажимаем <code>Win + R</code>, запускаем cmd.
# <code>cd %PROGRAMFILES(X86)%\AWS Tools\CodeCommit</code>
# Запускаем git-credential-AWSS4.exe, на вопрос отвечаем "Да".
# Выполняем <code>notepad %userprofile%\.gitconfig</code>.
# Меняем <code>[credential]</code> на <code>[credential "https://git-codecommit.us-east-1.amazonaws.com"]</code>.
# Переходим в нужную директорию и выполняем клонирование репы, напр. <code>git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/CAMaaS</code>
 
===Ubuntu Linux (SSH)===
# Выполняем <code>ssh-keygen</code>.
# Копируем открытый ключ (содержимое файла ''имя_ключа''.pub).
# Заходим в [https://247929080425.signin.aws.amazon.com/console  панель управления] с высланным на почту именем пользователя/паролем.
# Слева выбираем Users и себя.
# Вкладка Security Credentials -> Upload SSH public key
# Вставляем открытый ключ (шаг 2).
# После вставки копируем SSH Key ID.
# На машине, в директории с ключами: <code>touch config</code>
# Вставляем: <source>Host git-codecommit.*.amazonaws.com
  User скопированный_SSH_Key_ID''
  IdentityFile Путь_к_секретному_ключу_шаг_1</source>
# <code>chmod 600 config</code>
# Проверяем <code>ssh git-codecommit.us-east-1.amazonaws.com</code>
# Клонируем репу с ssh.
 
===Ubuntu Linux (HTTP)===
''Могут быть проблемы с установкой. Предпочтительно ставить SSH.''
# Устанавливаем Python (любой) <code>sudo apt-get install python</code> и pip <code>sudo apt-get install python-pip</code>
# Через pip устанавливаем awscli: <code>sudo pip install awscli</code>
# Выполняем <code>aws configure</code>
# По порядку вводим следующее:
## AWS Access Key ID [None]: ''Access Key ID из полученного файла''
## AWS Secret Access Key [None]: ''Secret Access Key из полученного файла''
## Default region name [None]: us-east-1
## Default output format [None]: json
# Если не стоит git, ставим.
# Выполняем:
## <code>git config --global credential.helper '!aws codecommit credential-helper $@'</code>
## <code>git config --global credential.UseHttpPath true</code>
# Редактируем <code>~\.gitconfig</code> и меняем <code>[credential]</code> на <code>[credential "https://git-codecommit.us-east-1.amazonaws.com"]</code>
# Переходим в желаемую директорию и выполняем клон любого репозитория, напр. <code>git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/CAMaaS</code>.
## Если возникает любая ошибка функции <code>gnutls_handshake()</code>, необходимо либо использовать SSH, либо пересобрать git и curl для использования openssl вместо gnutls. Для этого можно выполнить [https://github.com/TheWookie/git-openssl-shellscript скрипт] либо выполнить сборку [http://askubuntu.com/questions/186847/error-gnutls-handshake-failed-when-connecting-to-https-servers вручную].

Текущая версия на 16:17, 2 апреля 2022

Переходим на сервера от Яндекса. Репозитории на амазоновском сервере больше обновлять не планируется.

Новые репозитории доступны по адресу https://www.chusov.org/git/. Доступ к ним осуществляется по HTTPS и SSH протоколам, но при этом требуется регистрация.

После регистрации репозитории не будут доступны сразу, а только при дальнейшем распределении пользовательских ролей. О регистрации желательно уведомить по электронной почте или лично.