Меню Рубрики

Установка bonobo git server

Install

This page covers simple Bonobo Git Server installation. Be sure to check prerequisites page before installation and for other sections visit the documentation page.

The following steps covers an installation with Windows 2008 Server and IIS 7. They are exactly the same for any higher platforms (Windows Server 2012 and IIS 8.0+).

  • Download the latest version of Bonobo Git Server from the front page
  • Extract the files from the installation archive to C:\inetpub\wwwroot

  • Allow IIS User to modify C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data folder. To do so
    • select Properties of App_Data folder,
    • go to Security tab,
    • click edit,
    • select IIS user (in my case IIS_IUSRS) and add Modify and Write permission,
    • confirm these settings with Apply button.

  • Convert Bonobo.Git.Server to Application in IIS
    • Run IIS Manager and navigate to Sites -> Default Web Site. You should see Bonobo.Git.Server.
    • Right click on Bonobo Git Server and convert to application.
    • Check if the selected application pool runs on .NET 4.0 and convert the site.

  • Configure Authentication

Enable Anonymous Authentication in IIS and disable the others. To do so, select the application, click on the authentication icon and set the value to of Anonymous Authentication to Enabled. The configuration should look like the following screenshot.

  • Launch your browser and go to http://localhost/Bonobo.Git.Server. Now you can see the initial page of Bonobo Git Server and everything is working.
    • Default credentials are username: admin password: admin

The authentication and membership service functions have been split up into separate configurable modules in the latest version of Bonobo Git Server. By default, it is configured to use Cookie Authentication and the Internal Membership Service. Please follow up on how to use the different methods using the following sites.

Authentication Providers

Membership Services

If you are have a previous version installed, you should review these migration notes.

If you have any issues with the installation try to search FAQ and forum.

источник

Установка Jenkins и Bonobo Git Server под ОС Windows для сборки Android приложений

Дистрибутивы

Последние приготовления

Можете с самого начала установить JDK, Git for Windows и Android SDK Tools с настройками по дефолту.

Bonobo Git Server

Простой и лёгкий git сервер под собой требует установки IIS и ASP.MVC что включает MS SQL Server Express 2008

IIS Server

Тут ничего необычного, добавляем роль Web Server (IIS):

Главное на следущей форме не пропустить добавить ASP.NET 4.5 в Feature:

ASP.NET MVC4

Попутно установится MS SQL Server 2008 Express и нас спросят пароль для УЗ sa. Надеюсь без надобности она более не потребуется:

После установки MVC нужно по новой пройтись в настройки серверных ролей (не features, а раньше) и добавить web-серверу поддержку ASP.NET4.5. До установки ASP.NET MVC 4 этого подраздела (Application Development) в компонентах IIS не было!

Bonobo Git Server

Всё, теперь можно перейти к непосредственно развёртыванию git сервера. Разархивируем содержимое дистрибутива в wwwroot IIS-сервера и даём права УЗ IIS_IUSERS на модификацию каталога App_Data:

Запускаем IIS Manager и конвертируем в приложение BonoboGitServer:

Если всё пошло так как надо справа в IIS Manager в Action жмём Browse: *:80(http) и попадаем (если вы не изменили имя и порт) на localhost/BonoboGitServer:

Логин и пароль для первого входа admin/admin. У сервера не так много настроек (во всяком случае через web-интерфейс), можно например поменять язык интерфейса:

и создать новых пользователей, например developer и jenkins. Под первым мы будем работать сами, второй нужен будущему серверу сборок.

Создадим новый репозиторий и дадим права на него разработчику и сборщику (УЗ jenkins, на скрине нет, но он там должен быть если делать всё по порядку. )

Пример странички репозитория с заветным адресом .git. Т.к. я заходил на сервер из браузера на этой же машине в адресе у меня фигурирует localhost, но у вас может быть нормальное DNS-имя сервера или IP.

Можно создать какой-нибудь проект в Android Studio указать в качестве удалённой ветки адрес нашего репозитория. Всю эту локальную часть я пропущу.

Jenkins

Jenkins устанавливается из msi и особо ни о чём не спрашивает, в конце установки автоматически открывается страничка с адресом где нам нужно скопировать из файла initialAdminPassword и вставить пароль:

В дальнейшем пароль УЗ admin тоже можно поменять.

Пришла пора установить необходимые плагины и настроить сервер. Переходим в Manage Jenkins — Manage Plugins — Avaliable и отмечаем:

  • JDK Parameter Plugin
  • Git plugin
  • Android Emulator Plugin
  • Gradle plugin

После перезапуска Jenkins необходимо перейти в раздел Manage Jenkins — Configure System и прописать путь к Android SDK в двух местах:

И в самом низу этой же странички в Android SDK root:

Если данного параметра не появилось что-то не то с Android Emulator Plugin, возможно он просто не установился.

Далее перейти на страничку конфигурации Manage Jenkins — Global Tool Configuration проверить и при необходимости указать пути к компонентам:


Git можно не трогать, если в переменной path указан путь к исполняемому файлу git и он доступен в командной строке то и Jenkins сможет его использовать:

А Gradle пусть скачается автоматически. В принципе такой же фокус можно было бы сделать с JDK но при установке Android SDK требует зарегистрированной в системе JDK, а куда Jenkins скачивает JDK я не раскопал.

Читайте также:  Установка плагинов premiere pro

Создание задачи на автоматическую сборку

В основном боковом меню Jenkins жмём New Item, придумываем название задачи с типом «Freestyle project» и жмём ок, попадаем в конфигурацию задачи. Не забываем поставить галочку Discard old builds а то наш сервер вскоре заполнится успешными билдами всех версий:

В разделе Source Code Management указываем URL репозитория git нашего проекта. Забегая вперёд, не заводим и не подставляем никакие учётные данные для доступа к репозиторию:

Будем собирать ветку master. Также можно настроить автоматическую сборку, в частности опрос репозитория ежеминутно и старт сборки в случае обнаружения новых коммитов. Отмечаем Poll SCM и пишем * * * * *:

В разделе build нажимаем Add build step и настраиваем сборку Gradle. Gradle version должен быть доступен тот, что мы указали в Global Tools Configurations. Пишем простой Task — «clean build». Это задачи, доступные нам в gradlew.bat tasks в корне проекта. Вы можете вызывать тут и другие задачи сборщика, в т.ч. с ключами.

Также добавляем одно Post-build Action — будем сохранять наши APK-шники — приложения Android. Так и пишем:

Сборка

Сохраняем и запускам сборку и видим что-то подобное, висим 10 минут и не можем достучатся в репозиторий:

Мы же никак не авторизовались в репозитории git! Добавление пары Login/Password в хранилище Jenkins (там где мы оставили -none- в Source Code Management) не сработало, как бы я не пробовал. Надо попробовать поискать другие пути.

Командная строка запускается от имени УЗ сеанса, Jenkins от имени System и ничего об этом не знает, в хранилище Credential Manager похоже что тоже не случится. Т.е. это не поможет:

Дополнительный поиск по сети дал несколько советов:

  • Перенос ssh-ключей из УЗ сеанса в system, которые я так и не смог найти;
  • Второй способ (Авторизация git), который сработал.

Авторизация git

Для этого нам потребуется PsExec.exe из набора утилит PsTools. С её помощью мы можем запустить cmd.exe из под System. Запускаем cmd.exe с повышенными правами и выполняем:

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

С помощью которых Jenkins сможет обращаться к данному репозиторию. Это та самая УЗ, которую мы создавали при настройках Bonobo Git Server наряду с developer’ом. Если в дальнейшем потребуется изменить данные учётные данные придётся пройти процедуру повторно.

Нехватка компонентов и акцептов лицензий на компоненты Android SDK

Может случится так что в SDK будут отсутствовать какие-нибудь модули и консоль сборки выдавать сообщения подобного характера:

В таком случае вам надо запустить с повышенными правами SDK Manager и установить недостающие компоненты:

Всё, после всех шаманств сборка прошла успешно!

Можете разводить команду Android-разработчиков.

источник

Установка bonobo git server

Thank you for downloading Bonobo Git Server. For more information please visit http://bonobogitserver.com.

  • Internet Information Services 7 and higher
    • How to Install IIS 8 on Windows 8
    • Installing IIS 8 on Windows Server 2012
    • Installing IIS 7 on Windows Server 2008 or Windows Server 2008 R2
    • Installing IIS 7 on Windows Vista and Windows 7
  • .NET Framework 4.6
    • Windows Vista SP2, Windows 7, Windows 8 and higher
    • Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2012 and higher
    • Don’t forget to register .NET framework with your IIS
      • Run %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir with administrator privileges

Before each update please read carefully the information about compatibility issues between your version and the latest one in changelog.

  • Delete all the files in the installation folder except App_Data.
    • Default location is C:\inetpub\wwwroot\Bonobo.Git.Server .
  • Copy the files from the downloaded archive to the server location.

These steps illustrate simple installation with Windows 2008 Server and IIS 7. They are exactly the same for higher platforms (Windows Server 2012 and IIS 8.0).

Extract the files from the installation archive to C:\inetpub\wwwroot

Allow IIS User to modify C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data folder. To do so

  • select Properties of App_Data folder,
  • go to Security tab,
  • click edit,
  • select IIS user (in my case IIS_IUSRS) and add Modify and Write permission,
  • confirm these settings with Apply button.

Convert Bonobo.Git.Server to Application in IIS

  • Run IIS Manager and navigate to Sites -> Default Web Site. You should see Bonobo.Git.Server.
  • Right click on Bonobo Git Server and convert to application.
  • Check if the selected application pool runs on .NET 4.0 and convert the site.

Launch your browser and go to http://localhost/Bonobo.Git.Server. Now you can see the initial page of Bonobo Git Server and everything is working.

  • Default credentials are username: admin password: admin

Frequently Asked Questions

How to clone a repository?

  • Go to the Repository Detail.
  • Copy the value in the Git Repository Location.
    • It should look like http://servername/projectname.git .
  • Go to your command line and run git clone http://servername/projectname.git .

How do I change my password?

  • Click on the account settings in the top right corner.
  • Enter new password and confirmation.
  • Save.
  • Go to the installation folder of Bonobo Git Server on the server.
    • Default location is C:\inetpub\wwwroot\Bonobo.Git.Server .
  • Copy the content of App_Data folder to your backup directory.
  • If you changed the location of your repositories, backup them as well.

How to change repositories folder?

  • Log in as an administrator.
  • Go to Global Settings.
  • Set the desired value for the Repository Directory.
    • Directory must exist on the hard drive.
    • IIS User must have proper permissions to modify the folder.
  • Save changes.
Читайте также:  Установка алмазного бурения agp

Can I allow anonymous access to a repository?

  • Edit the desired repository (or do this when creating the repository).
  • Check Anonymous check box.
  • Save.

For allowing anonymous push you have to modify global settings.

  • Log in as an administrator.
  • Go to Global Settings.
  • Check the value Allow push for anonymous repositories
  • Save changes.

I’d like to use git hooks to restrict access. How do I access the web frontend usernam?

Bonobo provides the following environment variables:

  • AUTH_USER : The username used to login. Empty if it was an anonymous operation (clone/push/pull)
  • REMOTE_USER : Same as AUTH_USER
  • AUTH_USER_TEAMS : A comma-separated list containing all the teams the user belongs to. Commas in teams name are escaped with a backslash. Backslashes are also escaped with a \ . Example: Teams ‘Editors\ Architects’, ‘Programmers,Testers’ will become Editors\\ Architects,Programmers\,Testers .
  • AUTH_USER_ROLES : A comma-separated list containing all the roles the user belongs to. Commas in roles are escaped with a backslash. Backslashes are also escaped with a \ .
  • AUTH_USER_DISPLAYNAME : Given Name + Surname if available. Else the username.

Beware that due to the way HTTP basic authentication works, if anonymous operations (push/pull) are enabled the variables above will always be empty!

источник

Простая установка сервера GIT на Windows

Предисловие или от куда взялась «бредовая» идея ставить Git на Windows

Я работаю в одной не очень большой IT-компании, которая продает свои и чужие программные решения, занимается проектами внедрения, оказывает клиентскую поддержку, проводит обучение и далее все такое в том же духе. До недавнего времени в моей маленькой команде разработки все было неплохо организовано и у нас даже был свой собственный достаточно мощный сервер. Но случилось непредвиденное и по воле злого рока один из серверов фирмы полетел, а руководство решило вместо него в стойку поставить наш сервер отдела разработки. Нам предложили «временно» переехать на любой из серверов общего назначения.

А теперь внимание! Только мы одни во всей фирме работаем на Линуксе, а все остальные сидят исключительно на Windows и сервера у нас тоже под управлением серверных редакций ОС от Билла Гейтса. И если перенос базы Redmine не вызывает особых вопросов, то задача поднять на сервере Windows сервер для Git меня сразу поставила в тупик. Но несколько часов потраченных на поиски дали мне простое работающее решение.

Изучение матчасти

Git умеет работать с четырьмя сетевыми протоколами для передачи данных: локальный, Secure Shell (SSH), Git и HTTP.

Первый вариант я не стал рассматривать, так как он подразумевает наличие сетевой шары открытой для общего доступа. Допустим, что с помощью групповых политик домена можно обезопасить данные от случайного удаления продавцем-стажером. Но как работать из дому? Ради нескольких «коммитов выходного дня» поднимать VPN?

SSH — единственный из сетевых протоколов, предоставляющий доступ и на чтение, и на запись. Два других сетевых протокола (HTTP и Git) в большинстве случаев дают доступ только на чтение, поэтому даже если они вам доступны, вам всё равно понадобится SSH для записи.

Путь к конечной цели уже стал менее туманным: сначала требуется поставить сервер SSH, а далее установить одну из многочисленных сборок Git для Windows (официальную msysgit, Git Extensions, TortoiseGit, QGit и т.д.)

Выбор сервера SSH для Windows

Воспользовавшись поисковиком по сети Internet, я сделал небольшую подборку текущих реализаций SSH под Windows. Не претендую на то, что смог найти все решения в этой области, но самые популярные точно не пропустил. Итак:

Cygwin. В рамках проекта переноса функциональности Linux на Windows был портирован в том числе и OpenSSH. Библиотека проекта cygwin1.dll с реализацией SSH так же используются в большинстве других решений. Простую инструкцию с картинками по установке и настройке можно посмотреть тут. А так же рекомендую к прочтению статью из журнала «Windows IT Pro» № 7 за 2001 год — SSH в Windows.

freeSSHd. Лидер среди упоминается на форумах. Характеризуется как легкий в использовании. Лицензия позволяет бесплатно использовать в коммерческих целях. Нашел инструкцию по установке и настройке на Win2008.

WInSSHD. Самое богатое по функциональности из увиденных мною реализаций. Это хорошее профессиональное решение для обеспечения безопасности. Но для моего гвоздя — это микроскоп. Если кого-то продукт заинтересовал, то у них есть 30-дневная ознакомительная полная версия и возможность бесплатного частного использования.

KpyM Telnet/SSH Server. Плохих отзывов не заметил. Но меня смущает, что их сайт не обновляется с 2009 года, а так же на официальном форуме как-то безжизненно. С другой стороны, если продукт бесплатный и выполняет свою работу, то нет смысла заниматься развитием. Понравилось наличие в их FAQ списка других решений для SSH под Windows. Рекомендую заглянуть.

Copssh. Продукт от норвежской компании ITeF!X, в котором они к windows-реализации OpenSSH добавили красивый GUI-интерфейс администратора и некие «best practices». Именно это решение, более всего рекомендуется в обсуждении поднятия сервера Git под Windows на StackOverflow.

Случайная находка

Собственно под впечатлением ответов на StackOverflow я уже расслабился и решил было пойти проторенной моими предшественниками дорожкой. Но при изучении сайта компании ITeF!X я обнаружил, что у них есть и более подходящий для моих целей продукт — gitwin. Это оказался тот самый требуемый мне сервер Git под Windows.

Я вначале не поверил глазам — если такой чудо продукт существует, то почему о нем до сих пор не трубят на каждом шагу. Ответ нашелся в новостях компании — как оказалось программный продукт только полмесяца назад (11 октября 2013 года) выложили в общий доступ. Точнее на днях выложили бесплатную для использования версию. Платная существовала и раньше, но видимо не пользовалась особым спросом (с января 2012 года на официальном форуме компании всего две созданные темы в разделе gitwin).

Читайте также:  Установка амортизаторов на уаз 3151

Итак, что же собой представляет этот gitwin? В состав свободной версии входят:

  • Cygwin версии 1.7.25
  • OpenSSH версии 6.3
  • Git версии 1.8.4
  • Инсталятор от Itefix

На сайте целый раздел посвящен установке пакета. Кроме описания словами процесса «запуск инсталятора» -> «далее» -> «далее» -> «готово», представители компании не поленились записать все это еще на видео и выложили на YouTube. Не совсем понятно зачем это сделано и самое главное не понятно для кого?

Еще один раздел выделили для описания использования. Тут описали активацию нового пользователя для доступа по SSH, создание пары ключей и пустого репозитория. И так же кроме описания текстом дают записанный обучающий ролик:

Установка, настройка и тестирование сервера Git

Я установил на наш сервер gitwin редакции «free edition» и могу поделится только этим опытом.

1. Начинаем со скачивания инсталятора со странички продукта.

2. Запускаем инсталятор и нас спрашивают куда устанавливать продукт. Я оставил по-умолчанию в «C:\Program Files (x86)\ICW». Зачем может понадобится менять путь? Дело в том, что этот каталог станет корнем для линуксовых утилит и домашний каталог пользователя git тоже будет создан тут же «C:\Program Files (x86)\ICW\home\git\». Если есть предчувствие проблем с правами доступа, то можете поменять на менее проблемный для вас каталог.

3. В процессе установки выводятся сообщения о создании двух пользователе «SvcCOPSSH» и «git». Под первым пользователем будет работать служба «OpenSSHServer», а второй нужен собственно для обслуживания репозиториев. Пароли к этим пользователям можно узнать в конце процесса установки, если нажать на «Show details». Советую по правому щелчку скопировать вывод в буфер и сохранить на всякий случай.
3.1. Перепроверка состава пользователей показала, что инсталятор втихую создал еще одного пользователя — «sshd» с описанием «copSSH privilege separation user» и сам же отключил его. Не понятно и подозрительно…

4. Скорее всего из-за редакции «free edition» дальнейшие шаги отличались от описанных на сайте. Вместо консоли администрирования в меню Пуск/copssh поместили два пункта «01. Activate a user» и «02. Deactivate a user». Но суть процесса от этого не изменилась. Запускаем «01. Activate a user» и указываем пользователя для активации (в моем случае все тот же git), выбираем командную оболочку (выбор из bash, sftponly и false) и ставим опциональные галочки. Тут читаем внимательно:
4.1. Если нам нужна пара ключей, то оставляем включенную по-умолчанию «Create keys for public key authentication». При парольной авторизации можете снять…
4.2. Если у пользователя планируется использование его родного пользовательского каталога из C:\Users\ (или может у кого-то до сих пор C:\Documents and Settings\) тогда оставляем включенные по-умолчанию галочки «remove copssh home directory if it exists» и «Create link to user’s real home directory». Я рискнул их снять и таким образом все репозитории у меня будут запрятаны глубоко в системном каталоге Program Files.

5. После активации пользователя и создания ключей можем протестировать всю систему на работоспособность. Выбираем в меню Пуск/copssh пункт «03. Start a Unix BASH Shell» и создаем пустой репозиторий. Я не стал блистать остроумием и повторил команду с официального сайта:

$ git init —bare /home/git/repo-a
Initialized empty Git repository in /home/git/repo-a/

6. Далее тестирование переехало на мой рабочий ноут. Я успешно склонировал пустой репозиторий, закинул в него несколько файлов и запушил назад. Проблем не возникло. Перешел в другой каталог и снова склонировал репозиторий — на этот раз он был уже не пустой и содержал мой коммит с файликами. Таким образом с моей рабочей станции различия между работой с репозиторием Git на предыдущем сервере Ubuntu и на новом сервере Windows замечено не было!

Заключение

Удачно найденный gitwin оказался именно тем решением, которое я искал — запускается под Windows и создает иллюзию для пользователей, что они работают с полноценным удаленным репозиторием. Глюков пока не заметил. Но если обнаружу, то обязательно дополню данную статью.

Надеюсь, что собранные материалы окажутся кому-нибудь полезными. И хочу пожелать не боятся потратить несколько часов на поиски, если вы не уверены, что в вашей голове наиболее актуальная информация. Ведь если бы я изначально зашел на StackOverflow и выполнил все по детальному пошаговому руководству от Тима Дэвиса, то не узнал бы о существовании более короткого пути, когда вся инфраструктура поднимается и настраивается буквально в десяток кликов мышкой. Успехов!

Послесловие. Истории успехов от хабраюзеров

Я подобно Сократу с каждым новым квантом знаний понимаю как еще много того, чего я все еще не знаю. В комментариях коллеги описывают положительный опыт на заданную мною тему, который грех игнорировать. Итак:

A1lfeG вместе со своей командой далеки от Linux’а, но тем не менее ихняя установка центрального репозитория Git’а была довольно простой. В этом им помог продукт SCM Manager.

IamKarlson хорошо отзывается о решении Bonobo Git Server, которое используется у него на работе. Как плюс для себя отмечу использование веб-сервера IIS, который у нас уже работает.

источник

Добавить комментарий

Adblock
detector