Сервис AWS CodeCommit больше не доступен для новых клиентов. Действующие клиенты AWS CodeCommit могут продолжать использовать сервис в обычном режиме. Подробнее
- Инструменты для разработчиков›
- AWS CodeCommit›
- Вопросы и ответы
Вопросы и ответы по AWS CodeCommit
Общие вопросы
Что такое AWS CodeCommit?
AWS CodeCommit – это безопасный высокомасштабируемый управляемый сервис управления исходным кодом, облегчающий специалистам совместную работу с кодом. С AWS CodeCommit вам не придется создавать собственную систему управления исходным кодом и заниматься масштабированием инфраструктуры для нее. AWS CodeCommit обеспечивает хранение любых ресурсов, от исходного кода до исполняемых файлов. Сервис эффективно интегрируется с существующими инструментами Git.
Что такое Git?
Git – это распределенная система управления версиями с открытым исходным кодом. Для работы с репозиториями AWS CodeCommit можно воспользоваться интерфейсом командной строки Git или любым подходящим клиентом Git. Дополнительные сведения о Git см. в документации Git. Дополнительную информацию о работе с AWS CodeCommit и Git см. на странице Начало работы с AWS CodeCommit.
Для кого предназначен сервис AWS CodeCommit?
AWS CodeCommit предназначен для разработчиков программного обеспечения, которым нужна безопасная, надежная и масштабируемая система управления исходным кодом для хранения кода и управления его версиями. Кроме того, AWS CodeCommit будет полезен всем, кому требуется простое в использовании, полностью автоматизированное хранилище данных с возможностью управления версиями. Например, системные администраторы могут использовать AWS CodeCommit для хранения скриптов и настроек. Веб-дизайнеры могут использовать AWS CodeCommit для хранения HTML-страниц и изображений.
Чем сервис AWS CodeCommit отличается от других систем управления исходным кодом на основе Git?
AWS CodeCommit предоставляет целый ряд возможностей, недоступных в других системах управления исходным кодом на основе Git.
- Полностью управляемый сервис. С AWS CodeCommit вам не придется заниматься размещением, обслуживанием, резервным копированием и масштабированием собственных серверов управления исходным кодом.
- Безопасность. Сервис AWS CodeCommit автоматически выполняет шифрование файлов при пересылке и хранении. AWS CodeCommit интегрирован с сервисом AWS Identity and Access Management (IAM), что позволяет назначать разрешения для ваших репозиториев на уровне пользователей.
- Высокая доступность. AWS CodeCommit работает на основе высокомасштабируемых, избыточных и надежных сервисов AWS, таких как Amazon S3 и Amazon DynamoDB.
- Масштабируемость. AWS CodeCommit позволяет хранить любое количество файлов без ограничений объема репозиториев.
- Ускоренный жизненный цикл разработки. С AWS CodeCommit ваши репозитории будут находиться в облаке AWS, в непосредственной близости от сред разработки и предпроизводственного тестирования, а также рабочей среды. Это повышает скорость жизненного цикла разработки и частоту обновлений.
Чем AWS CodeCommit отличается от корзины S3 с поддержкой управления версиями?
AWS CodeCommit предусматривает совместную разработку программного обеспечения. Он управляет пакетами изменений множества файлов, обеспечивает параллельную разработку и сравнение версий. Функция управления версиями сервиса Amazon S3 обеспечивает восстановление предыдущих версий отдельных файлов, но не поддерживает отслеживание пакетов изменений, охватывающих множество файлов, и другие возможности, требуемые для совместной разработки программного обеспечения.
Работа с AWS CodeCommit
Как начать работу с AWS CodeCommit?
Вы можете войти в Консоль управления AWS, создать репозиторий и начать работу с ним с помощью Git. Для знакомства с сервисом перейдите на страницу Начало работы, где приводится пошаговое руководство.
Как создать репозиторий?
Чтобы создать репозиторий, воспользуйтесь Консолью управления AWS, Интерфейсом командной строки AWS (AWS CLI), AWS SDK или API сервиса AWS CodeCommit.
Как обновлять файлы в репозитории?
Редактировать файлы можно непосредственно из консоли CodeCommit. Кроме того, для работы с репозиторием можно использовать Git. В качестве примера команды Git можно применить команду git clone, чтобы создать локальную копию репозитория AWS CodeCommit. Внесите изменения в локальные файлы и запустите команду git commit, чтобы сохранить изменения. Наконец, воспользуйтесь командой git push для загрузки изменений в репозиторий AWS CodeCommit. Пошаговые инструкции см. на странице Начало работы с AWS CodeCommit.
Как импортировать существующий репозиторий в AWS CodeCommit?
С помощью Git можно импортировать в AWS CodeCommit любой существующий репозиторий Git. Другие репозитории, например Subversion или Perforce, сначала нужно перенести в репозиторий Git с помощью инструмента импорта Git. Пошаговые инструкции по импорту репозиториев Git см. на странице Перенос существующего репозитория в AWS CodeCommit. Пошаговые инструкции по переносу локального или безверсионного контента см. в документации Git по выполнению миграции.
Какие операции Git в настоящее время поддерживает сервис AWS CodeCommit?
AWS CodeCommit в настоящее время поддерживает команды clone, pull, push и fetch.
Поддерживает ли AWS CodeCommit подмодули Git?
Да. AWS CodeCommit можно использовать с репозиториями Git, содержащими подмодули.
Каковы ограничения сервиса AWS CodeCommit?
Сведения о лимитах сервисов см. в разделе Limits.
Какой максимальный размер отдельного файла допустим для сохранения его в CodeCommit?
Размер отдельного файла в репозитории может составлять не более 2 ГБ.
Как выполнять резервное копирование репозиториев?
Для восстановления данных можно использовать полную локальную копию репозитория, созданную командой git clone. Дополнительные резервные копии можно создавать разными способами. Один из них заключается в установке Git на сервере резервного копирования и запуске задания планировщика с использованием команды git clone, чтобы регулярно создавать снимки состояния репозитория. Если требуется копировать только инкрементные изменения, вы можете воспользоваться командой git pull вместо команды git clone. Обратите внимание, что использование этих операций может увеличить затраты на количество пользователей и/или запросов в зависимости от ваших настроек сервера резервного копирования и частоты опросов.
Как восстановить удаленный репозиторий AWS CodeCommit?
Удаление репозитория AWS CodeCommit является необратимой операцией стирания данных. Для восстановления репозитория, который был удален, потребуется создать репозиторий заново и загрузить в него данные из резервной или локальной копии, полученной путем полного клонирования. Для ограничения круга пользователей с правами удаления репозиториев рекомендуется использовать политики IAM и защиту посредством многофакторной аутентификации. Дополнительные сведения см. в ответе на вопрос «Можно ли использовать AWS Identity and Access Management (IAM) для управления доступом к AWS CodeCommit?» в разделе «Безопасность» на этой странице вопросов и ответов.
Как выполнять проверку кода в AWS CodeCommit?
В сервисе CodeCommit поддерживается проверка кода. Кроме того, вы можете настроить разрешения на доступ к ветвям кода. При возникновении проблем с проверкой кода или назначением разрешений на уровне ветви, ознакомьтесь с соответствующей документацией.
Как объединить систему непрерывной интеграции с сервисом AWS CodeCommit?
Системы непрерывной интеграции можно настраивать для извлечения кода из AWS CodeCommit с помощью Git. Примеры использования систем непрерывной интеграции с сервисом AWS CodeCommit см. в публикации блога, посвященной объединению AWS CodeCommit с Jenkins.
Как создавать объекты webhook с помощью AWS CodeCommit?
В консоли Amazon SNS можно создать тему SNS, указав для нее адрес сервера HTTP и URL для объекта webhook. Затем в консоли AWS CodeCommit вы сможете связать эту тему SNS с событием в репозитории с помощью триггеров. Кроме того, у клиентов, использующих AWS Chatbot, есть возможность настроить отправку оповещений в каналы Slack или чат‑комнаты Amazon Chime. Подробную информацию см. здесь.
Можно ли получить журнал всех вызовов API и операций Git AWS CodeCommit своего аккаунта для анализа уровня безопасности и текущего устранения неполадок?
Да. Последние события CodeCommit, в том числе операции Git и вызовы API, можно просмотреть в консоли AWS CloudTrail. Чтобы непрерывно записывать все события, создайте отслеживание и ведите журнал событий в корзине Amazon S3. Дополнительные сведения см. в разделе «Ведение журнала вызовов API AWS CodeCommit с помощью AWS CloudTrail».
Безопасность
Можно ли использовать Управление идентификацией и доступом AWS (IAM) для управления доступом к AWS CodeCommit?
Да. AWS CodeCommit поддерживает разрешения на уровне ресурсов. Для каждого репозитория AWS CodeCommit можно указать действия, разрешенные определенным пользователям. Можно также использовать для действий CodeCommit многофакторную аутентификацию (MFA) AWS. Это обеспечивает дополнительный уровень защиты от разрушительных действий, таких как удаление репозиториев. Можно установить контроль доступа клиентов Git не только к API AWS CodeCommit, но и к командам git pull и git push. К примеру, можно создать пользователя репозитория с правами только для чтения, разрешив ему выполнение команды git pull, но не git push. Дополнительные сведения по использованию IAM с сервисом AWS CodeCommit см. на странице аутентификации и контроля доступа для AWS CodeCommit. Дополнительную информацию об аутентификации доступа к API с применением многофакторной аутентификации см. в разделе Настройка доступа к API с защитой посредством Многофакторной аутентификации (MFA).
Какие протоколы передачи данных поддерживает AWS CodeCommit?
Для обмена данными с AWS CodeCommit можно использовать как HTTPS, так и SSH. Для использования протокола HTTPS сначала необходимо установить интерфейс командной строки AWS. Интерфейс командной строки AWS позволяет установить Git credential helper, настраиваемый с использованием данных доступа AWS. Он автоматически ставит цифровую подпись для всех запросов HTTPS к AWS CodeCommit в спецификации Подпись версии 4. Для использования протокола SSH пользователи создают собственные пары публичных и частных ключей и добавляют публичные ключи к своим пользователям IAM. Частный ключ обеспечивает шифрование обмена данными с AWS CodeCommit. Пошаговые инструкции по настройке доступа по HTTPS и SSH см. на странице Настройка AWS CodeCommit.
Какие порты должны быть открыты в брандмауэре для доступа к AWS CodeCommit?
Вам потребуется открыть исходящий доступ в адрес сервиса AWS CodeCommit для порта 22 (SSH) или 443 (HTTPS).
Как можно шифровать репозитории в AWS CodeCommit?
Шифрование репозиториев при хранении выполняется автоматически. От пользователя не требуется дополнительных действий. Для шифрования репозиториев сервис AWS CodeCommit использует AWS Key Management Service (KMS). При создании первого репозитория в вашем аккаунте AWS будет создан ключ CodeCommit под управлением AWS. Дополнительные сведения см. на странице Шифрование репозиториев AWS CodeCommit.
Можно ли разрешить доступ к репозиторию для нескольких аккаунтов?
Да. Вы можете создать в своем аккаунте AWS роль IAM для предоставления доступа к репозиторию пользователям IAM других аккаунтов AWS. После этого пользователи IAM могут настроить свой интерфейс командной строки AWS для работы с сервисом AWS Security Token Service (STS) и использовать данную роль при запуске команд. Дополнительные сведения см. в разделе Использование роли документации по интерфейсу командной строки AWS.
Регионы
В каких регионах доступен сервис AWS CodeCommit?
Дополнительные сведения о доступности сервиса CodeCommit по регионам см. на странице Продукты и сервисы по регионам.
Оплата
Какова стоимость использования сервиса AWS CodeCommit?
Стоимость использования сервиса AWS CodeCommit составляет 1 USD за одного активного пользователя в месяц. На каждого активного пользователя ваш аккаунт дополнительно получает 10 ГБ хранилища и 2000 запросов Git в месяц. Неиспользованный объем хранилища и неиспользованное количество запросов Git не переносятся на следующие месяцы. Если вам потребуется больше ресурсов хранилища или запросов Git для ваших пользователей, дополнительное использование будет оплачиваться по тарифу 0,06 USD за 1 ГБ в месяц и 0,001 USD за запрос Git. Пользователи могут хранить любое количество репозиториев Git. Объем использованных вами ресурсов рассчитывается каждый месяц суммарно по всем регионам и автоматически включается в ваш счет. Подробнее см. на странице цен.
Что такое активный пользователь в AWS CodeCommit?
Активный пользователь – это любое уникальное удостоверение AWS (пользователь или роль IAM, федеративный пользователь или аккаунт root), которое в течение месяца обращалось к репозиториям AWS CodeCommit посредством запросов Git или Консоли управления AWS. Сервер, который обращается к CodeCommit с помощью уникального удостоверения AWS, считается активным пользователем.
Какие запросы Git засчитываются в ежемесячный объем использования?
Запросы Git включают любые операции push или pull, которые передают объекты репозитория. Запрос не учитывается в объеме использования запросов Git, если при его выполнении не происходит передачи объектов, поскольку локальные или удаленные ветки кода уже синхронизированы.