簡體   English   中英

使用yiic通過github更新應用程序

[英]Using yiic to update application via github

我們有一個用Yii 1.1編寫的應用程序,我們維護和控制該應用程序和服務器的各個方面。 它存在於各種服務器上。 我們通過git在本地維護代碼庫,並發布到我們的GitHub存儲庫。 當我們推出更新或錯誤修復時,我們必須進入每個框並一次更新它們。 這只會越來越耗費我們部署的更多應用程序和服務器的時間。

我們希望通過admin部分遠程完成git pull過程。 我們曾考慮過利用GitHub WebHooks功能,但我們不希望它如此自動化。 我們要控制哪些應用程序獲取更新。 接下來,我們考慮使用將存在於代碼庫中並可以運行shell git pull腳本的yiic命令。 在整個過程中,安全是頭等大事。

如果我們創建一個yiic類來處理已定義的git命令,並帶有從控制器向yiic命令進行身份驗證的安全令牌層,那么您是否會遇到安全問題? 也許有人做了類似的事情,可以對他們的方法和問題有所了解?

我創建了一個管理屏幕,在這里我可以輕松地讓每個用戶從個人開發環境中的分支切換(無需訪問服務器)。 我是通過在PHP中使用exec以及使用git客戶端鈎子(合並后)來完成此操作的, https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks更新所有文件夾和文件的權限(您無法確定它們在拉動之后是否正確)。 對於合並等,我使用bitbucket API。

對於我們的活動環境和活動前環境,我們使用deploybot.com。 如果某個分支被更新,它將上傳文件。 實時環境會自動更新。 對於實時環境,我必須按下一個按鈕(它將自動執行此操作,因此將在星期一上班之前使用API​​進行此操作)。 如果只是拉,我會使用這樣的服務。 雖然它不拉,但是可以上載/刪除新的,更改的或刪除的文件。 然后,您可以在管理面板中添加一個按鈕,以進行api調用,從而允許deploybot部署代碼。 它更簡單,免費或非常便宜(取決於您的需求)

關於安全性。 我想這將取決於您的管理屏幕和github帳戶的安全性。 如果人們可以訪問您的github代碼,他們可以更改您的實時代碼,但這實際上始終是一個“問題”。 如果他們可以訪問您的管理屏幕,我想您有更大的問題,那么他們就可以提取代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM