GitHub Education — первый шаг к своему проекту

7 min read

Когда речь заходит о создании собственного проекта, возникает большое число организационных вопросов, которые нередко заставляют отложить реализацию. Речь идёт о домене, хостинге, приватном репозитории, ssl-сертификате. На выбор, покупку и настройку всего этого обычно уходит немало времени и денег. Естественно, без этого не хочется начинать разработку, потому что результатами будет не поделиться, а без первых пользователей энтузиазм может пропасть слишком быстро.

Поэтому сегодня речь пойдёт о проекте Github Education. На нём собрана подборка бесплатных инструментов для студентов. Этот сайт был запущен ещё в 2013 году, но до сих пор многие о нём не знают и продолжают откладывать свои идеи в долгий ящик. Сегодня мы расскажем о том, какие инструменты входят в этот студенческий пакет и как начать их использовать для создания собственного сайта.

Регистрация

GitHub — это хранилище кода для системы контроля версий Git. Для участия в программе понадобится аккаунт Github к которому привязана почта на домене университета. Можно зарегистрировать ради этого новый аккаунт или привязать почту к уже существующему. Сделать это можно в настройках электронной почты:

Далее, на Github Education нужно нажать на кнопку Request Discount, выбрать подходящие пункты:

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

После нажатия на кнопку Next нужно будет заполнить информацию о себе. На этом этапе вам как раз понадобится электронная почта на сайте университета. Не забывайте, что все поля нужно заполнять на английском ;). В конце вам останется написать мотивационное письмо. Это не так уж страшно, но к нему стоит подойти серьёзно — его реально читают. Напишите честно, что интересуетесь созданием проектов и вам нужен этот аккаунт для их запуска и тестирования. А после придётся подождать, и вам, наверняка, придёт заявка.

Что входит в пакет Github Education?

Доменное имя

Первое, что вам, скорее всего, понадобится для вашего сайта — это домен. Вам предлагают получить один домен в зоне .me на год бесплатно, но на сайте Namecheap, есть и другие довольно выгодные предложения доменных имён. К примеру, на момент написания статьи, за один евро можно было получить домен в стартаперской зоне .xyz (вы же смотрели «Кремниевую долину»?). И пока у вас нет своего сайта, можно припарковать домен на about.me (Namecheap раздаёт премиум аккаунт на год студентам) или на Github Pages (об этом подробнее можно узнать в этом туториале).

Безопасность

В первое время, пока проект не запущен, есть огромное желание отложить вопрос безопасности на потом. Но это лучше не откладывать, это может сказаться на удобстве использования сайта и доверии пользователей. И снова предложение от Namecheap: бесплатный ssl-сертификат на год. Это ключ шифрования, который подтверждает, что пользователи получают данные именно с вашего сайта. Он нужен для того, чтобы сократить вероятность атаки типа Man in the middle. Для получения сертификата нужно перейти в корзину и ввести промокод с сайта Github Education:

Также есть ещё одно предложение от dnsimple.com. В пакете есть базовый аккаунт на год, который позволяет подключать DNS сервера. За счёт этих серверов можно получить ускорение загрузки сайта, а также базовую защиту от DDoS-атак.

Эти инструменты не дают полной защиты вашего сайта. Но они являются хорошим первым шагом для обеспечения безопасности.

А как же хостинг?

В качестве хостинга есть четыре предложения (ну ладно, три с половиной): Amazon AWSBitnamiDigital OceanOrchestra.io.

Самый простой из них — это Bitnami, на нём раздают три виртуальных сервера на год. Для каждого из виртуальных серверов есть большое количество заранее подготовленных конфигураций. К примеру, можно быстро поднять: LAMP (Linux, Apache, MySQL, PHP) для разработки на PHP, стек для разработки на Python или Ruby, даже есть сконфигурированный Tomcat для разработки на Java. Если нет времени или желания разбираться с настройкой и конфигурацией серверов — это идеальное предложение.

Для любителей всё настраивать самостоятельно и linux есть Digital Ocean. Здесь вам предлагают обычную виртуальную машину, на которой можно разместить всё, что угодно. 50$, которые раздают в этом пакете хватит больше, чем на полгода работы.

Ну и, конечно, Amazon AWS. Машины у них очень мощные и обладают большой доступностью, стоит только почитать про DynamoDB, чтобы понять, насколько серьёзно они подходят к этим вопросам. Но ресурсы на этом хостинге ограничены. Лучше всего его использовать для сложных вычислений. К примеру, для алгоритмов Data Mining или для сервисов, где требуется большая доступность, которую не могут обеспечить другие сервисы.

Также есть половинка хостинга — Orchestra.io. Он нужен для размещение и управление базой данных, он хорошо справляется с одной задачей. Если есть необходимость использовать большие объёмы данных или для работы сервиса необходима большая надёжность, то стоит обратить на этот сервис внимание.

Инструменты для организации процесса разработки

В пакет также входят пять приватных репозиториев на GitHub, и для них будет доступна непрерывная интеграция с помощью Travis CI. Непрерывная интеграция — это средства, позволяющие автоматически обновлять сервер, делать сборку кода, запускать тесты (вы же тестируете код?) и отсылать отчёты о сборке и тестах. А ещё он даёт возможность во время каждого пул реквеста узнавать о результате сборки и тестов:

Что-то ещё?

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

Если вы не поленились и выбрали имя и хостинг, то можете прямо сейчас приступить к разработке. Если вы хотите узнать побольше о нас и нашем опыте разработки, подписывайтесь на нашу группу ВКонтакте. Не стесняйтесь задавать свои вопросы.