Как мне собрать juju-core из исходного кода?

Я заинтересован в компиляции и запуске juju-core из исходного кода. Как я могу это сделать? Какие существуют риски?

2
задан 28 May 2013 в 18:30

1 ответ

Прежде чем перейти к этому, согласно README в juju-core:

Обратите внимание, что использование --upload-tools заставляет экземпляры работать с той же серией и архитектурой вашего система разработки. В настоящее время единственная поддерживаемая архитектура, которую можно развернуть, - это amd64, поэтому вы должны разрабатывать ее на 64-битных машинах.

Если у вас нет машины amd64 или вы пытаетесь скомпилировать для i386, ARM и т. Д., Эти шаги, скорее всего, не сработают.

Зависимости установки

Для сборки juju-core требуются следующие пакеты:

sudo apt-get install build-essential bzr zip git-core mercurial golang-go

Пакет golang-go запросит у вас статистику анонимного использования и, если вы захотите, в. Выберите Да или Нет в зависимости от ваших интересов.

После установки вам нужно будет создать GOPATH, который go будет использовать для загрузки и компиляции зависимостей. Вы можете установить это в любой каталог, который вы выберете, например ~/go. Вы можете прочитать больше о gopath с помощью go help gopath

export GOPATH=${HOME}/go
mkdir -p $GOPATH

Затем добавьте префикс или добавьте GOPATH к вашему PATH. Рекомендуется префикс вашего PATH, так как он даст вам скомпилированную версию по умолчанию. Вы по-прежнему сможете получить доступ к другим установленным версиям Juju, хотя вам придется использовать абсолютный путь для доступа к ним. Если вы не хотите иметь GOPATH на своем пути, вы можете пропустить этот шаг.

PATH="$GOPATH/bin:$PATH"

Строительство и строительство Установка

После настройки среды сборка juju-core является относительно простым процессом. Сначала вам нужно получить последний код для juju-core таким образом, чтобы вы знали, что делать. Просто запустите следующую команду, чтобы получить последний источник:

go get -v launchpad.net/juju-core/...

Это будет идти за ядром juju-core и источником всех зависимостей. И наконец, чтобы собрать ядро ​​juju-core:

go install -v launchpad.net/juju-core/...

Это должно занять несколько секунд. После завершения вы можете проверить правильность компиляции juju, запустив which juju, если вы префиксили PATH с GOPATH. Если нет, вы можете проверить, установлен ли он с $GOPATH/bin/juju version, который должен сообщать о текущей скомпилированной версии juju-core.

Использование

Как только ядро ​​juju построено и вы можете использовать его по своему усмотрению, есть несколько предостережений, о которых нужно знать. Во-первых, всякий раз, когда вы запускаете загрузчик, вам нужно будет включить флаг --upload-tools, в противном случае у вас будет установлена ​​«выпущенная» версия инструментов juju-core вместо вновь скомпилированных.

juju bootstrap -e <your_environment> --upload-tools

Кроме того, juju-core не совместима с ранее развернутыми версиями juju менее 0.7 (версия juju на python). Вам нужно будет создать новые определения environment.yaml и использовать разные ключи control-bucket. Если вы хотите сохранить два отдельных файла окружения, вы можете сделать это, указав переменную окружения JUJU_HOME:

export JUJU_HOME=~/.juju-core
mkdir -p $JUJU_HOME
juju init -w

Это создаст новый шаблонный файл environments.yaml в ~/.juju-core/, где вы можете сохранить свой Среда juju-core отличается от предыдущих версий juju.

Удаление

Если вы хотите удалить скомпилированную версию juju-core, вы можете сделать это в любое время, запустив rm -rf $GOPATH. Это должно вернуть вашу систему в состояние до того, как у вас была скомпилированная исходная версия juju-core.

0
ответ дан 28 May 2013 в 18:30

Другие вопросы по тегам:

Похожие вопросы: