我只是好奇系統管理員在為開發人員設置工作流方面走了多遠
題:
我正在尋找有關為開發人員設置伺服器\系統集的課程和經驗的連結或個人帳戶。我特別感興趣的是自動化的數量,以及它是否比它的價值或天賜之物更多的工作。我意識到根據所開發產品的性質,這可能更簡單或更複雜。我也是這個領域的新手(<4 個月),所以我的觀點非常有限:(以下是我最感興趣的幾點:
你使用的版本控制,為什麼?
有什麼自動化的嗎?
- 您是否讓開發人員直接使用儲存庫進行日常日常使用?
- 您是否利用儲存庫腳本掛鉤?
- 您是否將您的任何工具捆綁在一起或以任何方式將它們相互集成?
開發人員使用基於控制台的工具還是圖形工具?
當您升級基礎設施或改進事物時,您的第一要務是什麼?
我的有限經驗
就我而言,該團隊使用 MySQL 和 PHP開發*Web 應用程序。*我一直在開發的更新後的基礎架構為他們提供了 Mercurial 和項目管理系統 Redmine 的版本控制。我們還有用於該站點的開發、測試和生產伺服器以及數據庫伺服器。我將版本控制和項目管理結合到一台伺服器上。
從嚴格的可用性角度來看,上面放在他們自己的伺服器上就足夠了,但我一直在研究使用 post-commit 掛鉤將最新傳入的送出自動發送到開發伺服器的方法,腳本處理(如最小化 CSS 和 JS 文件),並將發布的觸發器集成到具有權限控制的 Redmine UI 中進行測試和開發。我還在 Redmine 中添加了鉤子來創建和刪除自定義儲存庫(使用自定義鉤子)。
我還嘗試使用自定義 Dreamweaver 外掛從開發人員那裡獲取送出消息並自動處理送出過程(最大限度地減少切換視窗和在 TortoiseHg 中點擊的時間。)
由於我仍在測試,我不確定最終產品會是什麼。我只是好奇其他人在他們奔跑的範圍內做了什麼。
我對這個問題的回答總是:問使用者,在你的情況下是開發人員。IT 系統本身沒有內在價值,它們總是在它們所使用的業務環境中發揮作用。因此,您越能讓它們在該環境中完成所需的工作,對業務就越有利。
一些更具體的答案:
**版本控制:**我們使用 svn、cvs 和 git(遺留原因,目前正在採取措施將其整合到 git 中)。
**自動化:**很多。這些系統中的每一個都有大量的鉤子腳本。由於需求不斷變化的事實,工程團隊實際上有一個“工具製造者”,即一個特定的軟體工程師,除了為其他人提供和改進工具之外什麼都不做。IT 團隊實際上根本沒有參與其中,我們專注於伺服器本身(硬體、作業系統、升級、性能、網路等)
**控制台與 GUI:**什麼都行。而且我們 IT 部門並不真正關心他們使用什麼,只要它成功,可以通過包管理安裝/升級(我們也有自己的包儲存庫用於我們的內部工具)並且不違反任何法律或侵權行為任何版權。
#1 優先級始終是為所有使用者提供不間斷的服務。