Создание Windows AMI для Bamboo в JIRA Studio для сборок - PullRequest
2 голосов
/ 22 августа 2011

Необходимые условия:
- JIRA Studio (размещено)
- с Bamboo 3.0.4
- ami-1cbd4475

Я предполагаю, что должен установить удаленный агент Bamboo(немного банок) к этому экземпляру Windows.Но я также не могу найти какую-либо ссылку на установку агента (как указано в http://confluence.atlassian.com/display/BAMBOO/Creating+a+Remote+Agent) в моей конфигурации Bira Jira Studio, и не могу найти нужную версию агента самостоятельно. Правильно ли мое предположение?

Кто-нибудь может описать процесс настройки Windows AMI для Bamboo?

1 Ответ

3 голосов
/ 06 октября 2011

Успешно установил его сам.Спасибо интернету и ребятам из Atlassian.Ниже приведены шаги, которые я сделал.

Чтобы установить эластичный агент в Windows AMI

  • Запуск и RDP в любой желаемый экземпляр образа Windows Amazon
  • Изменение пароля администратора
  • Установка Google Chrome (для удобства)
  • Установка Far Manager (для удобства)
  • Установка последней версии JDK
    • Обновление PATH для указания на Javaкаталог bin.Если все в порядке, то команда java -version должна предоставить вам версию Java
  • Скачать соответствующую версию агента с Atlassian
    • Эластичный агент для Bamboo 3.0.4 можно найти здесь
  • Извлеките содержимое почтового индекса в c: \ bamboo -astic-agent-agent
    • Обновите PATH, указав c: \ bamboo -astic-agent \ bin
    • Создайте папку c: \ bamboo-agent-home
    • Создайте файл launch-bamboo.bat in c: \ bamboo -astic-agent \ bin \ со следующим содержимым

@echo off 
setlocal enabledelayedexpansion 
set BIN_PATH=%~dp0 
set OLD_PWD=%CD% 
cd %BIN_PATH% 
for %%J in ("..\lib\*.jar") do (
if defined CLASSPATH (
set CLASSPATH=!CLASSPATH!;%%J) else set CLASSPATH=%%J)

@echo on 

java -server -Xms32m -Xmx512m -XX:MaxPermSize=256m -classpath %CLASSPATH% -Dbamboo.home=C:\bamboo-agent-home com.atlassian.bamboo.agent.elastic.client.ElasticAgentBootstrap 2>&1 > C:\bamboo-agent-home\bamboo-elastic-agent.log
@echo off
cd %OLD_PWD% 
set OLD_PWD=
  • Попробуйте запустить launch-bamboo.bat вручную

    • Если все настроено нормально, вы либо ничего не должны получать в журналах вывода и агентах, либо получить что-то вроде этого

          C:\bamboo-elastic-agent \bin>java -server -Xms32m -Xmx512m -XX:MaxPermSize=256m -classpath ..\lib\acegi-security-1.0.4.jar;..\lib\activation-1.1.1.jar;..\lib\activeio-core-3.1.2.jar;..\lib\act
          ivemq-core-5.3.2-atlassian-1.jar;..\lib\activemq-protobuf-1.0.jar;..\lib\activemq-ra-5.3.2.jar;..\lib\annotations-6.0.5.jar;..\lib\ant-1.7.1.jar;..\lib\ant-launcher-1.7.1.jar;..\lib\antlr-2.7.
          7.jar;..\lib\antlr-runtime-3.1.3.jar;..\lib\aopalliance-1.0.jar;..\lib\aspectjrt-1.6.9.jar;..\lib\aspectjweaver-1.6.9.jar;..\lib\atlassian-aws-0.15.jar;..\lib\atlassian-bamboo-agent-bootstrap-
          3.0.4.jar;..\lib\atlassian-bamboo-agent-core-3.0.4.jar;..\lib\atlassian-bamboo-agent-elastic-3.0.4.jar;..\lib\atlassian-bamboo-agent-remote-3.0.4.jar;..\lib\atlassian-bamboo-api-3.0.4.jar;..\l
          ib\atlassian-bamboo-core-3.0.4.jar;..\lib\atlassian-bamboo-license-3.0.4.jar;..\lib\atlassian-bandana-3.1.jar;..\lib\atlassian-bonnie-3.4.1.jar;..\lib\atlassian-bucket-0.17.jar;..\lib\atlassia
          n-cache-api-1.0.jar;..\lib\atlassian-config-0.9.jar;..\lib\atlassian-cookie-tools-2.0.jar;..\lib\atlassian-core-4.5.3.jar;..\lib\atlassian-event-2.1.0.jar;..\lib\atlassian-extras-2.4.jar;..\li
          b\atlassian-johnson-1.0.jar;..\lib\atlassian-mail-1.9.jar;..\lib\atlassian-plugins-core-2.6.4.jar;..\lib\atlassian-plugins-osgi-2.6.4.jar;..\lib\atlassian-plugins-osgi-events-2.6.4.jar;..\lib\
          atlassian-plugins-servlet-2.6.4.jar;..\lib\atlassian-plugins-spring-2.6.4.jar;..\lib\atlassian-plugins-webfragment-2.6.4.jar;..\lib\atlassian-plugins-webresource-2.6.4.jar;..\lib\atlassian-pro
          filing-1.8.1.jar;..\lib\atlassian-secure-random-1.0.jar;..\lib\atlassian-seraph-2.4.0.jar;..\lib\atlassian-spring-1.3.jar;..\lib\atlassian-trusted-apps-core-2.1.jar;..\lib\atlassian-trusted-ap
          ps-seraph-integration-2.1.jar;..\lib\atlassian-tunnel-0.4.jar;..\lib\atlassian-user-1.9.jar;..\lib\atlassian-util-concurrent-0.0.12.jar;..\lib\atlassian-velocity-0.5.jar;..\lib\atlassian-xwork
          -12-1.10.jar;..\lib\atlassian-xwork-core-1.10.jar;..\lib\axis-1.4.jar;..\lib\axis-jaxrpc-1.4.jar;..\lib\axis-saaj-1.4.jar;..\lib\axis-wsdl4j-1.5.1.jar;..\lib\backport-util-concurrent-2.1.jar;.
          .\lib\bcmail-jdk15-1.44.jar;..\lib\bcprov-jdk15-1.44.jar;..\lib\bndlib-0.0.255.jar;..\lib\commons-beanutils-1.8.3.jar;..\lib\commons-codec-1.3.jar;..\lib\commons-collections-3.2.1.jar;..\lib\c
          ommons-configuration-1.4.jar;..\lib\commons-dbcp-1.2.jar;..\lib\commons-digester-1.8.jar;..\lib\commons-discovery-0.2.jar;..\lib\commons-httpclient-3.0.1.jar;..\lib\commons-io-1.4-backport-IO-
          168.jar;..\lib\commons-jxpath-1.2.jar;..\lib\commons-lang-2.5.jar;..\lib\commons-logging-1.0.4.jar;..\lib\commons-pool-1.4-RC2-atlassian-1.jar;..\lib\dom4j-1.4.jar;..\lib\ehcache-1.6.0-atlassi
          an-3.jar;..\lib\exml-7.0.jar;..\lib\fontbox-1.2.1.jar;..\lib\freemarker-2.3.16-atlassian-4.jar;..\lib\geronimo-connector-2.0.1.jar;..\lib\geronimo-j2ee-connector_1.5_spec-2.0.0.jar;..\lib\gero
          nimo-j2ee-management_1.1_spec-1.0.1.jar;..\lib\geronimo-jms_1.1_spec-1.0.jar;..\lib\geronimo-jta_1.1_spec-1.0.jar;..\lib\geronimo-transaction-2.0.1.jar;..\lib\google-collections-1.0.jar;..\lib
          \hibernate-2.1.8-atlassian-9.jar;..\lib\howl-1.0.1-1.jar;..\lib\hsqldb-1.8.0.7.jar;..\lib\icu4j-3.8.jar;..\lib\isorelax-20020414.jar;..\lib\javacvs-atlassian-20080407.jar;..\lib\javassist-3.6.
          ga.jar;..\lib\jaxb-api-2.1.jar;..\lib\jaxb-impl-2.1.10.jar;..\lib\jaxen-1.1-beta-9.jar;..\lib\jcip-annotations-1.0.jar;..\lib\jcl-over-slf4j-1.5.8.jar;..\lib\jdom-1.0.jar;..\lib\jempbox-1.2.1.
          jar;..\lib\jencks-2.1.jar;..\lib\jencks-amqpool-2.1-atlassian-1.jar;..\lib\jira-soapclient-4.0.jar;..\lib\jmock-1.0.1.jar;..\lib\jms-1.1.jar;..\lib\jna-3.2.7.jar;..\lib\joda-time-1.6.jar;..\li
          b\jsch-0.1.38.jar;..\lib\jta-1.0.1B.jar;..\lib\junit-4.5.jar;..\lib\kahadb-5.3.2.jar;..\lib\ldaptemplate-1.0.1.jar;..\lib\lingo-1.3.jar;..\lib\log4j-1.2.15.jar;..\lib\lucene-analyzers-2.3.2.ja
          r;..\lib\lucene-core-2.3.2.jar;..\lib\mail-1.4.1.jar;..\lib\mockobjects-alt-jdk1.3-j2ee1.3-0.09.jar;..\lib\msv-20020414.jar;..\lib\odmg-3.0.jar;..\lib\ognl-2.7.3-atlassian-3.jar;..\lib\org.apa
          che.felix.framework-3.0.2.jar;..\lib\oro-2.0.8.jar;..\lib\oscore-2.2.7.jar;..\lib\osuser-1.0-20060106.jar;..\lib\p4java-0.7.5-atlassian-5.8.jar;..\lib\package-scanner-0.9.4.jar;..\lib\pdfbox-1
          .2.1.jar;..\lib\plexus-utils-1.5.9.jar;..\lib\poi-3.5-FINAL.jar;..\lib\poi-scratchpad-3.5-FINAL.jar;..\lib\propertyset-1.3-21Nov03.jar;..\lib\quartz-1.6.5.jar;..\lib\relaxngDatatype-20020414.j
          ar;..\lib\rife-continuations-0.0.2.jar;..\lib\rome-1.0.jar;..\lib\sal-api-2.2.1.jar;..\lib\sal-spi-2.2.1.jar;..\lib\sal-spring-2.2.1.jar;..\lib\saxpath-1.0-FCS.jar;..\lib\servlet-api-2.5.jar;.
          .\lib\sitemesh-2.2.1.jar;..\lib\slf4j-api-1.5.8.jar;..\lib\slf4j-log4j12-1.5.8.jar;..\lib\smack-3.0.4.jar;..\lib\smackx-3.0.4.jar;..\lib\spring-aop-2.0.7.jar;..\lib\spring-beans-2.0.7.jar;..\l
          ib\spring-context-2.0.7.jar;..\lib\spring-core-2.0.7.jar;..\lib\spring-dao-2.0.7.jar;..\lib\spring-hibernate2-2.0.7.jar;..\lib\spring-jdbc-2.0.7.jar;..\lib\spring-jms-2.0.7.jar;..\lib\spring-m
          ock-2.0.7.jar;..\lib\spring-remoting-2.0.7.jar;..\lib\spring-support-2.0.7.jar;..\lib\spring-web-2.0.7.jar;..\lib\sqljet-1.0.4.jar;..\lib\stax-api-1.0-2.jar;..\lib\stringtemplate-3.2.jar;..\li
          b\svnkit-1.3.5.7539.jar;..\lib\trilead-ssh2-build213-svnkit-1.3-patch.jar;..\lib\typica-1.6.jar;..\lib\velocity-1.4.jar;..\lib\webwork-2.2.7-atlassian-5.jar;..\lib\wsdl4j-1.6.1.jar;..\lib\xapo
          ol-without-pool-1.4.jar;..\lib\xbean-spring-3.2.jar;..\lib\xercesImpl-2.9.1.jar;..\lib\xfire-core-1.2.6.jar;..\lib\xml-apis-1.3.03.jar;..\lib\xmlParserAPIs-2.6.2.jar;..\lib\XmlSchema-1.1.jar;.
          .\lib\xpp3_min-1.1.4c.jar;..\lib\xstream-1.3.1.jar;..\lib\xwork-1.2.5-atlassian-2.jar -Dbamboo.home=C:\bamboo-agent-home com.atlassian.bamboo.agent.elastic.client.ElasticAgentBootstrap 2>&1 1
          >C:\bamboo-agent-home\bamboo-elastic-agent.log
          java.io.FileNotFoundException: http://169.254.169.254/2008-02-01/user-data
          at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
          at java.net.URL.openStream(Unknown Source)
          at com.atlassian.urlfetcher.URLFetcherImpl.fetchSerializedObject(URLFetcherImpl.java:16)
          at com.atlassian.aws.ec2.EC2Utils.getUserData(EC2Utils.java:69)
          at com.atlassian.bamboo.agent.elastic.client.ElasticAgentBootstrap.main(ElasticAgentBootstrap.java:41)
      
    • ЕслиВы получаете сообщение об ошибке: Ошибка: нет серверной JVM в C: \ Program Files \ Java \ jre6 \ bin \ server \ jvm.dll, затем скопируйте C: \ Program Files \ Java \ jdk1.6.0 \ jre \ bin в C:\ Программа Files \ Java \ jre1.6.0 \ bin

  • Загрузите NSSM, чтобы настроить пакетный файл для запуска в качестве службы
    • Извлечение
    • Запустите с помощью nssm.exe. Установите bamboo-agent
    • введите путь c: \ bamboo -astic-agent \ bin \ launch-bamboo.bat
    • done
  • Убедитесь, что служба bamboo-agent настроена на автоматический запуск в Windows Service Manager
    • input services.msc в cmd
    • , чтобы проверка запуска службы bamboo-agent была выполнена как автоматическая
  • Настройка брандмауэра для разрешения порта 26224
    • или настройка параметров расширенного брандмауэра для регистрации пропущенных пакетов
    • Остановка экземпляра
    • Создание временного AMI
    • Запустите этот временный AMI из Bamboo
    • Войдите через RDP к экземпляру этого временного AMI
    • Просмотрите заблокированные порты
    • Узнайте номер порта Bamboo, которыйзаблокирован
    • Завершить экземпляр временного AMI
    • Отменить регистрацию временного AMI
    • Возобновление остановленного исходного экземпляра
    • Настройка брандмауэра для разрешения этого порта
  • Остановка экземпляра на консоли Amazon
    • Не путайте его с Terminate,Вам просто нужно либо остановить экземпляр на консоли, либо выполнить обычное завершение работы Windows через RDP
  • Создать AMI этого остановленного экземпляра в консоли Amazon
    • Вы можете прекратить остановленный экземплярпосле создания AMI
...