Tag Archives: deploy

Reddit 的 Deploy 機制 (的歷史)

Reddit 主要是用 Python 寫的,這邊介紹了他們歷年來的 Code Deploy 系統:「The Evolution of Code Deploys at Reddit」。 最早期的時候 (2007 到 2010) 是用 rsync 更新程式碼,然後跑個迴圈用 ssh 連進去重跑: # build the static files and put them on the static server `make -C /home/reddit/reddit static` `rsync /home/reddit/reddit/static … Continue reading

Posted in Computer, Murmuring, Network, Programming, Service, Social, Software, WWW | Tagged , , , , | Leave a comment

CodeDeploy 的權限設定...

這陣子在弄 AWS CodeDeploy,調整了半天才把權限壓低到合理的範圍 (AWS 給的預設值還是有點大),記錄下來之後會比較好找... 在權限部份,AWS CodeDeploy 應該有三個權限要設定: IAM user:給 CI 跑完後丟上 Amazon S3 並且呼叫 AWS CodeDeploy 佈署用的,像是 Travis CI 或是之類的服務。但如果是手動到 web console 觸發的話,這個部份就不需要了。 Service Role:給 AWS CodeDeploy 的服務本身用的。 EC2 Role:給跑在機器上 AWS CodeDeploy Agent 用的。 如同前面講的,IAM user 的部份有兩個要處理,一個是讓 CI 服務把檔案傳上 … Continue reading

Posted in AWS, Cloud, Computer, Murmuring, Network, Programming, Security, Software | Tagged , , , , , , , , , , , , , | 1 Comment

AWS CodeDeploy 支援 BlueGreenDeployment

AWS CodeDeploy 推出了 BlueGreenDeployment 的功能:「AWS CodeDeploy Introduces Blue/Green Deployments」。 BlueGreenDeployment 的目的不計成本想辦法把上線的 downtime 壓到最低,而且當出問題時 rollback 的時間壓到最低的方法: One of the challenges with automating deployment is the cut-over itself, taking software from the final stage of testing to live production. You usually need … Continue reading

Posted in AWS, Cloud, Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , , , , , , | 1 Comment

Vagrant 1.7 引入的 Push 機制

離上次改版也半年了,Vagrant 1.7 引入了 Push 機制:「Vagrant Push: One Command to Deploy Any Application」。 功能很簡單,就是「把整個目錄傳到指定的位置上」,可以看做是 code deploy 機制。目前支援的通訊協定 Atlas、FTP/SFTP、Heroku 以及自訂 script。 Vagrant 的這個功能有著 Unix philosophy 的想法。功能很簡單,但似乎是以後新功能的墊腳石。code deploy 這個功能現在已經有一堆 open source 產品可以用,如果之後不以此延伸,看起來沒有太大意義。 當然也是順便幫自家產品 Atlas 打廣告... 另外是 Vagrant 這個字的念法,也可以在這篇文章裡的影片看到示範:

Posted in Cloud, Computer, FTP, Murmuring, Network, Software | Tagged , , , , , , | 1 Comment

做 Ubuntu 14.04.1 的 VMware Template

公司有買 VMware license,但一直沒研究要如何做一份 VM template 出來,所以花了點時間研究到底怎麼做才會比較好。 這邊提供的方法是為了之後的通用性 (像是之後有可能用 KVM 堆虛擬機),所以不使用 VMware 獨規的設計,因此有些設定需要手動調整。 首先是先生出一台 Ubuntu 14.04.1 的 VM,在裝完基本系統後有些要先處理的: 可以考慮用 DHCP 或是不開啟網路設定,反正不要設固定 IP address,以免同時裝多台機器時發生狀況。 因為是 VMware 裡面,安裝 open-vm-tools 可以省下一些 puppet 安裝的時間。 砍掉 /etc/ssh/ssh_host_*,每台機器的 host key 應該要不一樣。 做好 VM 後轉成 Template,之後每次在 deploy 完、開起來後,還要做這些事情: … Continue reading

Posted in Cloud, Computer, Linux, Murmuring, Network, OS, Software | Tagged , , , , , , , , | 2 Comments

AWS 的 CodeDeploy、CodeCommit、CodePipeline

這次 re:Invent 的另外一個重大發表:「New AWS Tools for Code Management and Deployment」。 講的簡略一點,AWS CodeDeploy 是處理程式的 deployment,CodeCommit 是 Git hosting,CodePipeline 是 hook。 不過目前只有 CodeDeploy 可以用,其他兩個還沒好: CodeDeploy is launching today and you can start using it now. Please stay tuned for more information on … Continue reading

Posted in AWS, Cloud, Computer, Murmuring, Network, Programming, Software | Tagged , , , , , , | Leave a comment

各種 credential 儲存的方式 (像是連到資料庫的密碼)

John Resig (現在在 Khan Academy) 在月初的時候發表了「Keeping Passwords in Source Control」討論要怎麼儲存 credential。 這不只是開發者的問題而已,這跟 code deploy 機制也很有關。目前沒有完美的方案,不同的解法都是在不同的環境與限制下而誕生出的產物。

Posted in Computer, Murmuring, Network, Programming, Security | Tagged , , , , , , , , , , , | Leave a comment