【问题标题】:Creating a Windows AMI for Bamboo in JIRA Studio for builds在 JIRA Studio 中为 Bamboo 创建 Windows AMI 以进行构建
【发布时间】:2011-08-22 15:42:19
【问题描述】:

我的先决条件:
- JIRA Studio(托管)
- 使用 Bamboo 3.0.4
- ami-1cbd4475

我假设我必须将 Bamboo 远程代理(一些 jar)安装到这个 Windows 实例。但是我在我的 Jira Studio 的 Bamboo 配置中既找不到代理安装的任何链接(如 http://confluence.atlassian.com/display/BAMBOO/Creating+a+Remote+Agent 中所述),也找不到自己需要的代理版本。我的假设完全正确吗?

谁能描述为 Bamboo 设置 Windows AMI 的过程?

【问题讨论】:

    标签: amazon-ec2 jira bamboo


    【解决方案1】:

    自己安装成功。感谢互联网和来自 Atlassian 的人。 所以下面是我做的步骤。

    在 Windows AMI 上安装弹性代理

    • 在任何需要的 Amazon Windows Image 实例中启动和 RDP
    • 立即更改管理员密码
    • 安装谷歌浏览器(为方便起见)
    • 安装 Far Manager(为方便起见)
    • 安装最新的JDK
      • 更新 PATH 以指向 Java bin 目录。如果一切正常,那么 java -version 命令应该会给你 Java 的版本
    • Atlassian下载适当版本的代理
      • Bamboo 3.0.4 的弹性代理可以找到here
    • 将 zip 的内容解压到 c:\bamboo-elastic-agent
      • 更新 PATH 以指向 c:\bamboo-elastic-agent\bin
      • 创建文件夹 c:\bamboo-agent-home
      • 在 c:\bamboo-elastic-agent\bin\ 中创建文件 launch-bamboo.bat,内容如下
    
    @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)
        
      • 如果您收到错误消息:错误:C:\Program Files\Java\jre6\bin\server\jvm.dll 处没有服务器 JVM,则复制 C:\Program Files\Java\jdk1.6.0 \jre\bin 到 C:\Program Files\Java\jre1.6.0\bin

    • 下载 NSSM 以配置要作为服务启动的批处理文件
      • 提取
      • 使用 nssm.exe 启动安装竹代理
      • 输入路径 c:\bamboo-elastic-agent\bin\launch-bamboo.bat
      • 完成
    • 确保将服务竹代理配置为在 Windows 服务管理器中自动启动
      • 在 cmd 中输入 services.msc
      • 检查竹代理服务启动为自动
    • 将防火墙配置为允许端口 26224
      • 或在高级防火墙选项中设置以记录丢弃的数据包
      • 停止实例
      • 创建临时 AMI
      • 从 Bamboo 启动此临时 AMI
      • 通过 RDP 登录到此临时 AMI 的实例
      • 查看被阻止的端口
      • 找出被阻塞的 Bamboo 端口号
      • 终止临时 AMI 的实例
      • 注销临时 AMI
      • 恢复停止的原始实例
      • 配置防火墙以允许此端口
    • 在 Amazon 控制台停止实例
      • 不要将其与终止混淆。您应该在控制台上停止实例或通过 RDP 定期关闭 Windows
    • 在 Amazon 控制台中创建此已停止实例的 AMI
      • 您可以在创建 AMI 后终止已停止的实例

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多