我需要獲取自上次部署(git diff)以來發生更改的文件列表,gzip這些文件並將這些文件發送到S3。我需要獲取所有的css文件並將它們gzip,然後我需要獲取所有html文件,gzip它們以及所有的JS文件並將它們gzip。只有在最後一次提交後發生了變化。gzip和git diff以及s3
我可以輕鬆地從上次部署中獲取提交哈希。我也有來自當前部署的提交散列。
下面是我有gzips所有的css文件的代碼。我想修改這個代碼僅gzip的所有CSS文件,改變了
find . -iname '*.css' -exec gzip -9 {} \; -exec mv {}.gz {} \;
下面是我不得不AWS示例代碼同步所有的HTML文件(我有獨立的AWS同步命令爲CSS,JS, HTML文件,因爲我需要不同的內容類型和內容編碼和緩存參數)。我想修改這個代碼僅AWS同步,改變
aws s3 sync . s3://test --content-type "text/html" --cache-control "max-age=31536000" --exclude "*" --include "*.html"
如何配合這個代碼git的差異的HTML文件?只能gzip已更改的文件?並且只會同步更改過的文件(git diff返回的文件列表中的文件)?
另外,我想複製一些文件,git diff返回到一個單獨的目錄。例如,需要將images /文件夾中的所有文件複製到StaticAssets /目錄。如何獲取已更改並位於圖像文件夾中的文件列表並將它們複製到單獨的文件夾?
我想用bash來做到這一點。
所以我知道我可以使用git diff --name-only
命令。我的問題是,我該如何使用該命令在bash做到以下幾點:
- Gzip已全部改變 css文件,Gzip已全部更改的js文件,Gzip已全部單獨改變的HTML文件(注意,該css文件可能位於另一個目錄內的目錄中)。我需要檢索父目錄中的所有css文件。因此,如果父目錄有文件夾測試,並且該文件夾有另一個名爲test1的文件夾,並帶有一個名爲test.css的css文件,我需要能夠將該css文件gzip即使其2個目錄下載到
- AWS Sync全部已更改 js文件,AWS同步所有改變CSS的單獨文件
- 有改變以及在圖像複製的文件/文件夾複製到另一個目錄
你有一個標籤或其他一些標記最後部署?你有部署文件的副本嗎? –
我有上次部署的git commit hash。 – Jasmine
你是否要求在這裏需要'git diff'命令?你在問如何將輸出鉤到'gzip'和's3 sync'(或其他)?你是否有任何代碼作爲這方面的嘗試? –