SCons是一款Python編寫的、開源的自動(dòng)化構(gòu)建工具。SCons作為一個(gè)Python腳本實(shí)現(xiàn)和模塊,SCons“配置文件”實(shí)際上是執(zhí)行Python腳本。這給了SCons很多強(qiáng)大的功能中沒有其他軟件構(gòu)建工具。歡迎下載!
什么是自動(dòng)化構(gòu)建工具
如果有那么一件事軟件開發(fā)人員很在行(并非引述電影《黑客》),那一定是將通常需要人工完成的任務(wù)自動(dòng)化。讓計(jì)算機(jī)處理重復(fù)乏味的任務(wù)將使得大家生活得更輕松,這里我們討論的是如何讓大家專注于他們所關(guān)心的事情。然而,研發(fā)團(tuán)隊(duì)時(shí)常會(huì)忽略那個(gè)最有幫助的受眾—他們自己。
在為數(shù)眾多的中小型軟件作坊中,不存在自動(dòng)化構(gòu)建和發(fā)布工具。構(gòu)建、交付準(zhǔn)備環(huán)境、代碼發(fā)布全由手工完成,同樣還有運(yùn)行測(cè)試、備份舊版本、新版本打標(biāo)簽以及許多其他重復(fù)的事情。畢竟你可能認(rèn)為這全是非常簡(jiǎn)單的工作,集成開發(fā)環(huán)境通過按鈕或快捷鍵就可構(gòu)建項(xiàng)目,你開啟兩個(gè)窗口拖放少許文件或文件夾即可完成網(wǎng)站發(fā)布。但當(dāng)你在維護(hù)代碼庫和應(yīng)用時(shí)所有這些事情加在一起,這里幾分鐘,那里幾分鐘,最終會(huì)浪費(fèi)幾個(gè)小時(shí)。
慶幸的是,很容易解決這個(gè)問題;镜淖詣(dòng)化構(gòu)建方案易部署,可高度定制化,成本低廉。本文描述了組建自動(dòng)化流程的一些動(dòng)機(jī),以及你將需要接觸的一些概念。本系列的第二部分將描述針對(duì).NET解決方案的具體實(shí)現(xiàn),但這些技術(shù)在任何環(huán)境下都適用。
SCons功能特性
配置文件是Python腳本,用真正的編程語言的力量來解決構(gòu)建問題。
可靠,自動(dòng)依賴分析內(nèi)置C、c++和Fortran——沒有更多的“依賴”或“干凈”的所有依賴項(xiàng)。 依賴分析容易通過用戶定義的擴(kuò)展依賴掃描儀對(duì)其他語言或文件類型。
內(nèi)置支持C、c++、D,Java,Fortran,Yacc,Lex,Qt和痛飲,建筑特克斯和乳膠文檔。 容易通過用戶定義的建筑商擴(kuò)展為其他語言或文件類型。
建筑從中央存儲(chǔ)庫的源代碼和/或預(yù)構(gòu)建的目標(biāo)。
內(nèi)置支持獲取源文件從癌,RCS,CVS,BitKeeper也必然。
對(duì)微軟Visual Studio的內(nèi)置支持。 凈和過去的Visual Studio版本,包括代。 dsp。 dsw,下手。 sln和。 vcproj文件。
可靠的檢測(cè)構(gòu)建變更使用MD5簽名;可選的,可配置的支持傳統(tǒng)的時(shí)間戳。
改進(jìn)的并行構(gòu)建支持——像- j但同時(shí)運(yùn)行N工作無論目錄層次結(jié)構(gòu)。
綜合Autoconf-like支持尋找# include文件、庫函數(shù)和類型定義。
全局視圖的所有依賴項(xiàng),不再有多個(gè)構(gòu)建傳遞或重新排序的目標(biāo)建立的一切。
共享文件緩存加速建造多個(gè)構(gòu)建——像ccache但對(duì)于任何類型的目標(biāo)文件,而不僅僅是C / c++編譯。
跨平臺(tái)的構(gòu)建而設(shè)計(jì)的,工作在Linux上,其他POSIX系統(tǒng)(包括AIX、BSD系統(tǒng),惠普/ UX,IRIX和Solaris),Windows NT,Mac OS X,OS
SCons在windows下安裝使用教程
1、安裝Python
因?yàn)镾Cons是用Python編寫的,所以你必須在使用SCons之前安裝好Python。你在安裝Python之前,應(yīng)該注意查看Python是否在你的系統(tǒng)里已經(jīng)可用了(在系統(tǒng)的命令行中運(yùn)行python -V或python --version)。
2、從預(yù)編譯包中安裝SCons
2.1、在Red Hat(或者基于RPM)Linux系統(tǒng)里安裝SCons
在使用RPM(Red Hat Package Manager)的Red Hat Linux,F(xiàn)edora或者任何其他Linux發(fā)行版里,SCons是預(yù)編譯好的RPM格式,準(zhǔn)備被安裝的。你的發(fā)行版可能已經(jīng)包含了一個(gè)預(yù)編譯好的SCons RPM。
如果你的發(fā)行版支持yum安裝,你可以運(yùn)行如下命令安裝SCons:
#yum install scons
如果你的Linux發(fā)行版沒有包含一個(gè)特定的SCons RPM文件,你可以下載SCons項(xiàng)目提供的通用的RPM來安裝。這會(huì)安裝SCons腳本到/usr/bin目錄,安裝SCons庫模塊(library modules)到/usr/lib/scons。
從命令行安裝,下載合適的.rpm文件,然后運(yùn)行:
#rpm -Uvh scons-2.1.0-1.noarch.rpm
2.2、在Debian Linux系統(tǒng)里安裝SCons
如果你的系統(tǒng)已經(jīng)連上了因特網(wǎng),你可以運(yùn)行如下命令來安裝最新的官方Debian包:
#apt-get install scons
2.3、在Windows系統(tǒng)里安裝SCons
SCons提供了一個(gè)Windows installer,使得安裝變得非常容易。從本頁下載SCons安裝包。然后你需要做的就是執(zhí)行這個(gè)文件。
3、在任何系統(tǒng)里編譯和安裝SCons
如果你的系統(tǒng)里沒有一個(gè)預(yù)編譯的SCons包,你可以使用本地python distutils包很容易地編譯和安裝SCons。
第一步就是下載scons-2.1.0.tar.gz或scons-2.1.0.zip,地址http://www.scons.org/download.html。
解壓下載的文件,會(huì)創(chuàng)建一個(gè)叫scons-2.1.0的目錄,進(jìn)入這個(gè)目錄執(zhí)行如下命令安裝SCons:
#cd scons-2.1.0
#python setup.py install
這將會(huì)編譯SCons,安裝scons腳本到python目錄(/usr/local/bin或C:\Python25\Scripts),同時(shí)會(huì)安裝SCons編譯引擎到python使用的庫目錄(/usr/local/lib/scons或C:\Python25\scons)。因?yàn)檫@些都是系統(tǒng)目錄,你可能需要root或管理員權(quán)限去安裝SCons。
3.1、編譯和安裝多個(gè)版本的SCons
SCons的setup.py腳本有一些擴(kuò)展,這些擴(kuò)展支持安裝多個(gè)版本的SCons到不同的位置。這讓下載和體驗(yàn)不同版本的SCons變得很容易。
安裝SCons到指定版本的位置,調(diào)用setup.py的時(shí)候增加--version-lib選項(xiàng):
#python setup.py install --version-lib
這將會(huì)安裝SCons編譯引擎到/usr/lib/scons-2.1.0或C:\Python25\scons-2.1.0目錄。
3.2、安裝SCons到其他的位置
你可以安裝SCons到其他的位置,而不是默認(rèn)的位置,指定--prefix=選項(xiàng):
#python setup.py install --prefix=/opt/scons
這將會(huì)安裝scons腳本到/opt/scons/bin,安裝編譯引擎到/opt/scons/lib/scons。
你可以同時(shí)指定--prefix和--version-lib,這個(gè)時(shí)候setup.py將會(huì)安裝編譯引擎到相對(duì)于指定prefix的特定版本的目錄,在剛才的例子上加上--version-lib,將會(huì)安裝編譯引擎到/opt/scons/lib/scons-2.1.0。
3.3、沒有管理員權(quán)限的情況下編譯和安裝SCons
如果你沒有權(quán)限安裝SCons到系統(tǒng)目錄,使用--prefix選項(xiàng)安裝到你選擇的其他的位置。例如,安裝SCons到相對(duì)于用戶$HOME目錄的合適的位置,scons腳本安裝到$HOME/bin,編譯引擎安裝到$HOME/lib/scons,使用如下命令:
#python setup.py install --prefix=$HOME
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版