在我們的辦公室,員工使用yocto進行項目開發活動&所有將從源存儲庫下載。Yocto本地存儲庫
我想設置一個存儲庫類型的服務器(就像apt-cacher),其中所有的客戶機將連接本地存儲庫&下載任何所需的。這可能嗎?
如果我提出錯誤或錯誤理解,請更正。
在我們的辦公室,員工使用yocto進行項目開發活動&所有將從源存儲庫下載。Yocto本地存儲庫
我想設置一個存儲庫類型的服務器(就像apt-cacher),其中所有的客戶機將連接本地存儲庫&下載任何所需的。這可能嗎?
如果我提出錯誤或錯誤理解,請更正。
一個想法是創建本地雲驅動器並將其作爲文件夾附加到計算機。
在/conf/local.conf
,改變
SSTATE_DIR = "/path/to/your/sstate-repository"
DL_DIR ?= "/path/to/your/download/repository"
請注意,sstate將時間累積到時間,從而創建一個cron作業來刪除該文件中有使用這個命令:
find ${sstate_dir} -name 'sstate*' -atime +3 -delete; fi
更多信息請參見第27頁HERE
假設您唯一關心的是h ere是源代碼(而不是構建包),你應該看看PREMIRRORS
variable。在你的問題中,我不清楚的一件事是「源代碼庫」(伴隨着git
標籤),你的項目通常由許多組件構建,其中大約95%來自外部來源,而另一些來自內部存儲庫(混帳/ SVN /不管)。內部存儲庫通常不是一個大問題,你有他們附近,他們傾向於工作,並且無論如何,涉及的每個人都應該有一些訪問權限。大多數問題實際上都是在外部讀取時發生的,這就是鏡像很方便的地方。
我通常設置的東西WRT源文件管理的方法如下:
DL_DIR ?= "${HOME}/sources"
在你的local.conf
(這是它回到OE Classic時代的方式),這不是必須的,只是我喜歡有能力清理構建目錄而不同時擦除下載的源文件設置PREMIRRORS
v良莠不齊的local.conf
這樣的:
PREMIRRORS = "\
git://.*/.* ftp://oe-src.example.com/ \n \
ftp://.*/.* ftp://oe-src.example.com/ \n \
http://.*/.* ftp://oe-src.example.com/ \n \
https://.*/.* ftp://oe-src.example.com/ \n \
"
~/sources
與構建之後您的FTP(通過FTP/SCP/rsync的/不管)這樣,你總是有一個很好的一套源文件(BTW的,也包括你的內部軟件VCS檢出的壓縮包,所以它有點幫助FTP和減少內部VCS負載)最的源文件請求滿足於這個FTP,所以你不再有缺失源/校驗和/緩慢下載等問題。
我看到的唯一不足就是這個FTP向所有人開放,它擁有包括內部資源在內的所有資源,根據您的安全策略,這可能是也可能不是問題。這可以通過使用每個項目的SFTP鏡像來緩解,這會導致額外的用戶密鑰管理開銷,但我在實踐中也做了這樣的設置,所以在需要時可以完成。