摘要:一個因子應(yīng)用決不依賴隱式的系統(tǒng)級包。顯式聲明的依賴規(guī)范會被無差別的應(yīng)用到開發(fā)環(huán)境與生產(chǎn)環(huán)境。一個顯式聲明依賴的好處是能簡化開發(fā)人員對新應(yīng)用的設(shè)置工作。
II. 依賴 顯式聲明與隔離依賴
大部分編程語言提供一套分發(fā)支持庫的打包系統(tǒng), 比如Perl的CPAN或Ruby的Rubygems。從打包系統(tǒng)安裝的二方庫可以在系統(tǒng)層面(眾所周知的“site packages”)或包含應(yīng)用的目錄區(qū)域(眾所周知的“vendoring”或“bundling”)。
一個12因子應(yīng)用決不依賴隱式的系統(tǒng)級包。它會聲明所有依賴項,完整并精確地,通過依賴聲明的清單。更進一步,它使用一種依賴隔離工具來保證執(zhí)行期沒有隱式的依賴被“泄露”到周圍的系統(tǒng)。顯式聲明的依賴規(guī)范會被無差別的應(yīng)用到開發(fā)環(huán)境與生產(chǎn)環(huán)境。
例如,Ruby的Gem Bundler提供Gemfile 文件格式作為依賴生命,bundle exec作為依賴隔離。Python有兩個不同的工具來做這些步驟 — Pip用來聲明作為隔離目的的Virtualenv。 就算是C也有為依賴聲明的Autoconf,和提供依賴隔離的靜態(tài)鏈接。不管什么工具鏈,依賴聲明與隔離都必須一起使用— 只有一個或另一個不能滿足12因子的需要。
一個顯式聲明依賴的好處是能簡化開發(fā)人員對新應(yīng)用的設(shè)置工作。新開發(fā)者可以從應(yīng)用代碼庫檢出代碼到他們的開發(fā)機器,前置條件只是安裝過語言的運行時及依賴管理器。他們可以用build命令設(shè)置好運行程序所需的所有東西。例如,Ruby/Bundler 的build命令是bundle install,Clojure/Leiningen的是lein deps。
12因子應(yīng)用也不依賴任何隱式的其他系統(tǒng)工具的依賴。比如shell命令I(lǐng)mageMagick或curl。這些工具當(dāng)然可能存在在許多或大部分系統(tǒng)中,但這并不保證他們會存在在所有系統(tǒng)或應(yīng)用以后可能運行的系統(tǒng),或以后的系統(tǒng)版本能否兼容現(xiàn)有版本的應(yīng)用。如果應(yīng)用需要使用外部的系統(tǒng)工具,這個工具需要被打包進應(yīng)用里。
原文地址: https://12factor.net/12factor...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/76966.html
摘要:因子是一種構(gòu)建應(yīng)用的方法用聲明式的格式設(shè)置自動化,最小化新開發(fā)者加入項目的時間和成本。代碼庫一份被版本控制追蹤的代碼,多份部署因子應(yīng)用會一直放在版本控制中,如,或者。每個分布式系統(tǒng)中的組件是一個應(yīng)用,每一個都可以獨立遵守因子。 原文地址: https://12factor.net/12factor... 介紹 現(xiàn)在軟件通常交付為一個服務(wù):可以叫web應(yīng)用,或軟件即服務(wù)(SaaS)。1...
摘要:原文配置將配置保存在環(huán)境中應(yīng)用的配置是指在各種部署預(yù)發(fā),線上,開發(fā)環(huán)境等時的信息。這違反了因子規(guī)則,規(guī)則要求將配置從代碼中隔離。因子應(yīng)用將配置信息存儲在環(huán)境變量中一般是或。在因子應(yīng)用中,變量是粗粒度控制。 原文:https://12factor.net/zh_cn/ III. 配置 將配置保存在環(huán)境中 應(yīng)用的配置是指在各種部署(預(yù)發(fā),線上,開發(fā)環(huán)境等)時的信息。這包括: 處理數(shù)據(jù)庫,...
摘要:后端服務(wù)將后端服務(wù)視為可拔插的資源后端服務(wù)是一種在應(yīng)用在網(wǎng)絡(luò)上正常運行時消費的任意一種服務(wù)。一份因子應(yīng)用的部署可以不經(jīng)過任何代碼修改將本地數(shù)據(jù)庫替換成第三方的服務(wù)如。因子應(yīng)用將這些數(shù)據(jù)庫看做可拔插資源,在部署時是松耦合的。 IV 后端服務(wù) 將后端服務(wù)視為可拔插的資源 后端服務(wù)是一種在應(yīng)用在網(wǎng)絡(luò)上正常運行時消費的任意一種服務(wù)。包括數(shù)據(jù)庫(如MySQL或CouchDB),消息/隊列系統(tǒng)(如...
摘要:靜態(tài)測試包括對于代碼測試,主要是測試代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)范。集成測試,是單元測試的下一階段,是指將通過測試的單元模塊組裝成系統(tǒng)或子系統(tǒng),再進行測試,重點測試不同模塊的接口部門。 ...
摘要:因子應(yīng)用是由提供商的提出的。作為云平臺廠商,該公司創(chuàng)始人根據(jù)經(jīng)驗總結(jié)出來的軟件開發(fā)的方法論因子無疑值得同行學(xué)習(xí)。因子的大綱已經(jīng)有中文翻譯,可以直接參考每個因子的解釋,可以在該網(wǎng)站下載英文電子版了解。 12因子應(yīng)用是由PaaS提供商Heroku的Adam Wiggins提出的。Heroku已經(jīng)被SaaS行業(yè)領(lǐng)軍廠商Salesforce收購,根據(jù)維基百科的記載,同年2011年松本行弘也加盟...
閱讀 878·2021-10-13 09:39
閱讀 3531·2021-09-26 10:16
閱讀 2861·2019-08-30 15:54
閱讀 1037·2019-08-30 14:22
閱讀 2886·2019-08-29 15:39
閱讀 3253·2019-08-27 10:52
閱讀 809·2019-08-26 13:59
閱讀 1703·2019-08-26 12:20