[英]Compiling Flash in Jenkins
我們有99%的Java商店,我們使用Jenkins作為CI工具。 最近,有一些.NET項目需要我們進行編譯和構建,而我能夠設置一個Jenkins從屬服務器來完成該工作。
作為構建過程的一部分,有一個項目可以編譯Flash應用程序。 它帶有build.xml
並在Ant下運行。 有兩個目標,一個稱為buildandpost
,另一個稱為buildandpost_withFlash
。 它運行以下編譯任務:
<target name="compile" description="compile flash and copy to dist" >
<exec dir="src/flash"
executable="C:/Program Files/Adobe/Adobe Flash CS3/flash.exe"
searchpath="true" >
<arg line="compileProject.jsfl"/>
</exec>
<echo message="Flash exited" />
<fail message="Flash Compile produced errors">
<condition>
<isfileselected file="src/flash/compile_log.txt">
<and>
<contains text="Error" casesensitive="no"/>
<contains text="Warning" casesensitive="no"/>
</and>
</isfileselected>
</condition>
</fail>
</target>
當使用buildandpost_withFlash
目標運行Jenkins時,我注意到Jenkins將啟動編譯任務,然后不做任何事情就坐在那里,直到我buildandpost_withFlash
該工作。 日志中未打印任何內容。 運行buildandpost
任務,做這一切buildandpost_withFlash
確實沒有編譯工作。
我打開了構建服務器,運行了Ant buildandpost_withFlash
目標,令人驚訝的是,在進行編譯時打開了GUI。 我什么也沒做 編譯后GUI關閉,Ant繼續,但是我現在意識到Jenkins無法運行compile
任務,因為沒有與其任務相關的終端。
有沒有一種方法可以在不打開GUI的情況下運行此編譯? 我可以在不打開VisualStudio的情況下編譯VisualStudio項目。 我可以使用Flash嗎? 這是CS3。 否則,我將無法使用Jenkins進行構建。
編譯什么到什么? AS3? FLA? SWF? SWC?
有mxmlc
和compc
。 兩者都有ANT任務,以及命令行和.jar。
在我的Flash項目中,我們正在使用mxmlc
將AS3代碼編譯為SWF。 不涉及GUI。
對於發布FLA,需要運行Flash Builder GUI,但是只要沒有用戶的輸入(例如,當錯誤或警告消息彈出時),它就可以正常運行而沒有任何問題。
您提到了buildandpost
實際上成功了,並且buildandpost_withFlash
可以完成所有工作,所以如果使用buildandpost
出現問題呢?
編輯:
這是有關使用mxmlc ant任務的文檔http://help.adobe.com/zh_CN/flex/using/WS2db454920e96a9e51e63e3d11c0bf678b2-7ffc.html
但是,如果您不熟悉Flash,則將無法將.jsfl
文件轉換為mxmlc
步驟
基本上,您有一個黑盒( .jsfl
),並且您不知道其下發生了什么,因此您無法將其轉換為另一個腳本。 如果您曾說過將.as3
編譯為.swf
,我們可以嘗試一下,但是您說它還會吐出其他文件...因此, .jsfl
有很多邏輯,這是不能僅通過mxmlc
實現。 如果您無法將黑匣子轉換成Jenkins可以輕松處理的腳本,則您的另一個選項是按原樣運行黑匣子,即運行該.exe文件。
我只能提出以下建議:
在Jenkins CI上打開Excel
沒關系excel.exe
部分,將其替換為flash.exe
和compileProject.jsfl
作為參數,但是您必須提供完整路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.