本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CodeDeploy 代理程式是一種軟體套件,當在執行個體上安裝和設定 時,該執行個體可以用於 in CodeDeploy 部署。
AWS 支援最新版次要版本的 CodeDeploy 代理程式。目前最新的次要版本為 1.7.x。
注意
只有在您部署到 CodeDeploy /內部部署運算平台時,才需要 EC2 代理程式。使用 Amazon ECS 或 AWS Lambda 運算平台的部署不需要代理程式。
安裝代理程式時,組態檔案會置放於執行個體上。檔案會用於指定代理程式的運作方式。此組態檔案會指定目錄路徑和其他設定 AWS CodeDeploy ,以供 與執行個體互動時使用。您可以在檔案中變更一部分的組態選項。如需有關使用 CodeDeploy 代理程式組態檔案的資訊,請參閱 CodeDeploy 用戶端組態參考。
如需使用 CodeDeploy 代理程式的詳細資訊,例如安裝、更新和驗證版本的步驟,請參閱 管理 CodeDeploy 客服人員操作。
主題
the CodeDeploy 代理程式支援的作業系統
支援的 Amazon EC2 AMI 作業系統
The CodeDeploy 代理程式已在下列 Amazon EC2 AMIWord 作業系統上進行測試:
-
Amazon Linux 2023 (ARM, x86)
-
Amazon Linux 2 (ARM、x86)
-
Microsoft Windows Server 2022、2019
-
Red Hat Enterprise Linux (RHEL) 9.x、8.x、7.x
-
Ubuntu Server 22.04 LTS、20.04 LTS、18.04 LTS、16.04 LTS
The CodeDeploy 代理程式可作為開放原始碼,供您適應需求。它可以與其他 Amazon EC2 AMI 作業系統搭配使用。如需詳細資訊,請前往 CodeDeploy 代理
支援的內部部署作業系統
The CodeDeploy 代理程式已在下列內部部署作業系統上進行測試:
-
Microsoft Windows Server 2022、2019
-
Red Hat Enterprise Linux (RHEL) 9.x、8.x、7.x
-
Ubuntu Server 22.04 LTS、20.04 LTS
The CodeDeploy 代理程式可作為開放原始碼,供您適應需求。它可搭配其他現場部署執行個體作業系統使用。如需詳細資訊,請前往 CodeDeploy 代理
CodeDeploy 代理程式的通訊協定和連接埠
The CodeDeploy 代理程式會透過連接埠 443 使用 HTTPS 進行傳出通訊。
當 CodeDeploy 代理程式在 EC2 執行個體上執行時,會使用 EC2 中繼資料端點來擷取執行個體相關資訊。深入了解限制和授與執行個體中繼資料服務存取的相關資訊。
the CodeDeploy 代理程式的版本歷史記錄
您的執行個體必須執行支援的 CodeDeploy 代理程式版本。目前支援的最小版本為 1.7.x。
注意
建議使用最新版本的 CodeDeploy 代理程式。如果您遇到問題,請在聯絡 AWS Support 之前更新至最新版本。如需升級資訊,請參閱 更新 CodeDeploy 客服人員。
下表列出 CodeDeploy 代理程式的所有版本,以及每個版本包含的功能和增強功能。
版本 | 版本日期 | 詳細資訊 |
---|---|---|
1.7.1 |
2024 年 11 月 14 日 |
已變更:更新了安全修補程式的相依性。 |
1.7.0 |
2024 年 3 月 6 日 |
已新增: 新增:支援 Red Hat Enterprise Linux 9 (RHEL 9) 作業系統。 新增:支援 Ubuntu Server 上的 Ruby 3.1 和 3.2 版。 已修正:如果 CodeDeploy 代理程式組態檔案無法載入,則 CodeDeploy 代理程式現在會產生易於使用的錯誤。 已變更:在 Windows 的 CodeDeploy 代理程式中將 Ruby 升級到 2.7.8-1。 |
1.6.0 |
2023 年 3 月 30 日 |
新增:支援 Ruby 3.1、3.2。 新增:支援 Amazon Linux 2023。 新增:支援 Windows Server 2022。 已變更: 的預設設定 已移除:支援 Windows Server 2016 和 Windows Server 2012 R2。 已移除:支援 Amazon Linux 2018.03.x。 |
1.5.0 |
2023 年 3 月 3 日 |
已新增:支援 Ruby 3。 新增:支援 Ubuntu 22.04。 已修正:在啟動後不久重新啟動 CodeDeploy 代理程式會導致代理程式掛起的問題。 已變更:如果 CodeDeploy 代理程式服務在執行掛鉤指令碼時意外重新啟動,則代理程式現在會在代理程式啟動時失敗主機部署。此修正可讓您避免在重試部署之前等待 70 分鐘的逾時期間。 棄用通知: CodeDeploy 代理程式 1.5.0 是支援 Windows Server 2016 和 Windows Server 2012 R2 的最後一個版本。 已移除:支援 Ubuntu 14.04 LTS、Windows Server 2008 R2 和 Windows Server 2008 R2 32 位元上的 CodeDeploy 代理程式。 |
1.4.1 |
2022 年 12 月 6 日 |
已修正:與記錄相關的安全性漏洞。 增強功能:改善輪詢主機命令時的日誌記錄。 |
1.4.0 |
2022 年 8 月 31 日 |
新增:支援 Red Hat Enterprise Linux 8。 已新增:支援 Windows 的 CodeDeploy 代理程式上的長檔案路徑。若要啟用長檔案路徑,您需要設定適當的 Windows 登錄機碼,然後重新啟動您的代理程式。如需詳細資訊,請參閱長檔案路徑會導致「沒有此類檔案或目錄」錯誤。 已修正:磁碟已滿時解壓縮操作的問題。The CodeDeploy 代理程式現在會偵測 unzip 的結束碼 50 已修正:會導致客服人員失敗的問題。 已修正:掛鉤在邊緣案例競爭條件下會逾時的問題。沒有指令碼的掛鉤現在將繼續,不再導致失敗或逾時。 已變更:已移除Word CodeDeploy 代理程式 已變更:Windows Server 的 The CodeDeploy 代理程式現在會綁定 Ruby 2.7。 已變更:新增了新的環境變數,供掛鉤指令碼使用,具體取決於部署套件的來源 (Amazon S3 或 GitHub)。 如需詳細資訊,請參閱勾點的環境變數可用性。 重要棄用通知: CodeDeploy 代理程式 1.4.0 是最後一個版本,將包含 32 位元 Windows Server 的安裝程式。 棄用通知: CodeDeploy 代理程式 1.4.0 是支援 Windows Server 2008 R2 的最後一個版本。 已移除:支援下列 Amazon CodeDeploy AMIs EC2 代理程式:Amazon Linux 2014.09、2016.03、2016.09 和 2017.03。 |
1.3.2 |
2021 年 5 月 6 日 |
重要CodeDeploy 代理程式 1.3.2 會處理 CVE-2018-1000201 已修正:在 Ubuntu 20.04 及更新版本上安裝 CodeDeploy 代理程式時發生問題。 已修正:由於未正確處理相對路徑,所以擷取壓縮檔案時發生間歇性問題。 已新增:支援 Windows 執行個體的 AWS PrivateLink 和 VPC 端點。 新增: AppSpec 檔案改進,如下所述。
升級: CodeDeploy 現在使用 AWS SDK for Ruby 3.0。 |
1.3.1 |
2020 年 12 月 22 日 |
已修正:防止內部部署執行個體啟動的 1.3.0 問題。 |
1.3.0 |
2020 年 11 月 10 日 |
重要此版本已棄用。 已修正:已移除不再使用的過期憑證。 已修正:從 使用的代理程式解除安裝指令碼中移除提示訊息 AWS Systems Manager,以便更輕鬆地將主機或機群降級為舊版代理程式。 |
1.2.1 |
2020 年 9 月 23 日 |
已變更:將 AWS SDK for Ruby 相依性從 v2 升級到 v3。 已新增:支援 IMDSv2。如果 IMDSv1 http 請求失敗,則包含對 IMDSv2 的無訊息退信。 已變更:已更新安全修補程式的 Rake 和 Rubyzip 相依性。 已修正:確保空白 PID 檔案會傳回 狀態, |
1.1.2 |
2020 年 8 月 4 日 |
新增:支援 Ubuntu Server 19.10 和 20.04。 注意: 19.10 版已達到其 end-of-life 日期,Ubuntu 或 CodeDeploy 不再支援。 已新增:Linux 和 Ubuntu 的記憶體效率改進,以更及時地釋出預留記憶體。 已新增:與 Windows Server「無訊息清理」相容,這會導致客服人員在某些情況下沒有回應。 新增:在清除期間忽略非空目錄,以避免部署失敗。 已新增:支援洛杉磯 (LA) 的 AWS Local Zone。 已新增:從執行個體中繼資料擷取 AZ,以提供 AWS 與 Local Zones 的相容性。 已新增:使用者現在可以在子目錄中提供其封存,不需要將其存放在根目錄中。 已新增:偵測到 Rubyzip 可能導致記憶體洩漏的問題。更新了 unzip 命令,首先嘗試使用系統安裝的 unzip 公用程式,然後再使用 Rubyzip。 新增: 已變更:解壓縮警告現在會被忽略,因此部署將繼續。 |
1.1.0 |
2020 年 6 月 30 日 |
已變更: CodeDeploy 代理程式的版本控制現在遵循 Ruby 標準版本控制慣例。 已新增:安裝和更新命令的新參數,以允許從命令列安裝特定的代理程式版本。 已移除:已移除 Linux 和 Ubuntu 的 CodeDeploy 代理程式自動更新程式。若要設定 CodeDeploy 代理程式的自動更新,請參閱使用 安裝 CodeDeploy 代理程式 AWS Systems Manager。 |
1.0.1.1597 |
2018 年 11 月 15 日 |
增強功能: CodeDeploy 支援 Ubuntu 18.04。 增強功能: CodeDeploy 支援 Ruby 2.5。 增強功能: CodeDeploy 支援 FIPS 端點。如需 FIPS 端點的詳細資訊,請參閱 FIPS 140-2 概觀 |
1.0.1.1518 |
2018 年 6 月 12 日 |
增強功能:修正在接受輪詢請求時 CodeDeploy 代理程式關閉時造成錯誤的問題。 增強功能:新增了部署追蹤功能,可防止 CodeDeploy 代理程式在部署進行中時關閉。 加強功能:改善刪除檔案時的效能。 |
1.0.1.1458 |
2018 年 3 月 6 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 加強功能:改善憑證驗證,支援更多受信任的授權單位。 增強功能:已修正導致本機 CLI 在包含 BeforeInstall 生命週期事件的部署期間失敗的問題。 增強功能:修正在更新 CodeDeploy 代理程式時,可能導致作用中部署失敗的問題。 |
1.0.1.1352 |
2017 年 11 月 16 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 功能:推出一項新功能,用於測試和偵錯安裝 EC2 代理程式的本機機器或執行個體上的 CodeDeploy /內部部署。 |
1.0.1.1106 |
2017 年 5 月 16 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 功能:在不屬於最近一次成功部署之應用程式修訂的目標位置中,針對處理內容的功能推出新支援。現有內容的部署選項現在包含保留內容、覆寫內容,或令部署失敗。 增強功能:讓 CodeDeploy 代理程式與 AWS SDK for Ruby (aws-sdk-core 2.9.2) 的 2.9.2 版相容。 |
1.0.1.1095 |
2017 年 3 月 29 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 增強功能:已在中國 (北京) 區域推出對 CodeDeploy 代理程式的支援。 增強功能:當被生命週期事件掛鉤調用時,已啟用在 Windows Server 執行個體上執行的 Puppet。 加強功能:改善 |
1.0.1.1067 | 2017 年 1 月 6 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 加強功能:修訂許多錯誤訊息,包含造成部署失敗的更明確原因。 增強功能:已修正導致 CodeDeploy 代理程式無法識別某些部署期間要部署之正確應用程式修訂版的問題。 加強功能:還原在 |
1.0.1.1045 | 2016 年 11 月 21 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 增強功能:讓 CodeDeploy 代理程式與 AWS SDK for Ruby (aws-sdk-core 2.6.11) 的 2.6.11 版相容。 |
1.0.1.1037 | 2016 年 10 月 19 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 Amazon Linux、 CodeDeploy 和 Ubuntu Server 執行個體的 RHEL 代理程式已更新為下列變更。對於 Windows Server 執行個體,最新版本仍為 1.0.1.998。 加強功能:代理程式現在可以判斷執行個體上安裝的 Ruby 版本,並使用該版本呼叫 |
1.0.1.1011.1 | 2016 年 8 月 17 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 加強功能:因殼層支援問題,移除 1.0.1.1011 版推出的變更。此版本的代理程式在功能上與 2016 年 7 月 11 日發行的 1.0.1.998 版相同。 |
1.0.1.1011 | 2016 年 8 月 15 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 Amazon Linux、 CodeDeploy 和 Ubuntu Server 執行個體的 RHEL 代理程式已透過下列變更進行更新。對於 Windows Server 執行個體,最新版本仍為 1.0.1.998。 功能:新增了在使用系統化初始化系統的作業系統上使用 bash shell 調用 CodeDeploy 代理程式的支援。 增強功能:支援 CodeDeploy 代理程式和 CodeDeploy 代理程式更新程式中的所有 Ruby 2.x 版本。Updated CodeDeploy 代理程式不再僅依賴 Ruby 2.0。( CodeDeploy 代理程式安裝程式的 Deb 和 rpm 版本仍需要 Ruby 2.0。) |
1.0.1.998 | 2016 年 7 月 11 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 增強功能:已修正對使用根以外的使用者設定檔執行 CodeDeploy 代理程式的支援。名為 |
1.0.1.966 | 2016 年 6 月 16 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 功能:已推出對使用根以外的使用者設定檔執行 CodeDeploy 代理程式的支援。 增強功能:已修正指定您希望 CodeDeploy 代理程式封存部署群組的應用程式修訂數量的支援。 增強功能:讓 CodeDeploy 代理程式與 AWS SDK for Ruby (aws-sdk-core 2.3) 的 2.3 版相容。 增強功能:修正部署期間 UTF-8 編碼的問題。 加強功能:改善識別程序名稱的準確度。 |
1.0.1.950 | 2016 年 3 月 24 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 功能:新增安裝代理支援。 增強功能:更新安裝指令碼,如果已安裝最新版本,則不下載 CodeDeploy 代理程式。 |
1.0.1.934 | 2016 年 2 月 11 日 |
注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 功能:引入了指定您希望 CodeDeploy 代理程式封存部署群組的應用程式修訂數目的支援。 |
1.0.1.880 | 2016 年 1 月 11 日 | 注意:現已不支援此版本,並可能導致部署失敗。 增強功能:讓 CodeDeploy 代理程式與 AWS SDK for Ruby (aws-sdk-core 2.2) 的 2.2 版相容。仍支援 2.1.2 版本。 |
1.0.1.854 | 2015 年 11 月 17 日 | 注意:現已不支援此版本。如果您使用此版本,您的部署可能會失敗。 功能:已推出對 SHA-256 雜湊演算法的支援。 功能:推出 功能:讓部署群組 ID 可透過環境變數使用。 增強功能:新增使用 Amazon CodeDeploy Logs 監控Word 代理程式日誌的支援。 CloudWatch |
如需相關資訊,請參閱以下內容:
如需 CodeDeploy 代理程式版本的歷史記錄,請參閱在 GitHub 上發行儲存庫
管理 CodeDeploy 程序
根據預設, CodeDeploy 代理程式 (rpm 和 deb) 的所有 Linux 發行版本都會使用系統化
不過,rpm 和 deb 分佈都會隨附位於 的啟動指令碼/etc/init.d/codedeploy-agent
。根據您使用的分佈,當使用 等命令時sudo service codedeploy-agent restart
,/etc/init.d
可能會執行 的指令碼來啟動代理程式程序,而不是允許 systemd
管理程序。在 執行指令碼/etc/init.d
是不受歡迎的。
為了避免此問題,對於支援 的系統,systemd
我們建議將systemctl
公用程式用於任何代理程式操作,而不是使用 service
命令。
例如,使用 重新啟動 CodeDeploy 代理程式,sudo systemctl restart codedeploy-agent
而不是使用 service
公用程式的同等命令。
應用程式修訂和日誌檔案清除
The CodeDeploy 代理程式會在執行個體上封存修訂和日誌檔案。The CodeDeploy 代理程式會清除這些成品,以節省磁碟空間。
應用程式修訂版本部署日誌:您可以使用客服人員組態檔案中的 :max_revisions: 選項,輸入任何正整數來指定要封存的應用程式修訂數目。 CodeDeploy 也會封存這些修訂的日誌檔案。所有其他的項目都會遭到刪除,除了最後一次成功部署的日誌檔案。該日誌檔案一律予以保留,即使失敗的部署數超過保留的修訂數也一樣。如果未指定任何值,除了目前部署的修訂之外, CodeDeploy 還會保留五個最新的修訂。
CodeDeploy 日誌:對於 Amazon Linux、Ubuntu Server 和 RHEL 執行個體, CodeDeploy 代理程式會在 /var/log/aws/codedeploy-agent
資料夾下輪換日誌檔案。日誌檔案會在每天 00:00:00 (執行個體時間) 進行輪換。日誌檔案會在七天之後刪除。輪換日誌檔案的命名模式為 codedeploy-agent.
。YYYYMMDD
.log
the CodeDeploy 代理程式安裝的檔案
The CodeDeploy 代理程式會將修訂、部署歷史記錄和部署指令碼存放在執行個體的根目錄中。此目錄的預設名稱和位置為:
'/opt/codedeploy-agent/deployment-root'
適用於 Amazon Linux、Ubuntu Server 和 RHEL 執行個體。
'C:\ProgramData\Amazon\CodeDeploy'
適用於 Windows Server 執行個體。
您可以使用 CodeDeploy 代理程式組態檔案中的 root_dir 設定來設定目錄的名稱和位置。如需詳細資訊,請參閱CodeDeploy 用戶端組態參考。
以下是根目錄下檔案及目錄結構的範例。結構假設有 N 個部署群組,且每個部署群組都包含 N 個部署。
|--deployment-root/ |-- deployment group 1 ID | |-- deployment 1 ID | | |-- Contents and logs of the deployment's revision | |-- deployment 2 ID | | |-- Contents and logs of the deployment's revision | |-- deployment N ID | | |-- Contents and logs of the deployment's revision |-- deployment group 2 ID | |-- deployment 1 ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log | |-- deployment 2 ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log | |-- deployment N ID | | |-- bundle.tar | | |-- deployment-archive | | | | -- contents of the deployment's revision | | |-- logs | | | | -- scripts.log |-- deployment group N ID | |-- deployment 1 ID | | |-- Contents and logs of the deployment's revision | |-- deployment 2 ID | | |-- Contents and logs of the deployment's revision | |-- deployment N ID | | |-- Contents and logs of the deployment's revision |-- deployment-instructions | |-- [deployment group 1 ID]_cleanup | |-- [deployment group 2 ID]_cleanup | |-- [deployment group N ID]_cleanup | |-- [deployment group 1 ID]_install.json | |-- [deployment group 2 ID]_install.json | |-- [deployment group N ID]_install.json | |-- [deployment group 1 ID]_last_successful_install | |-- [deployment group 2 ID]_last_successful_install | |-- [deployment group N ID]_last_successful_install | |-- [deployment group 1 ID]_most_recent_install | |-- [deployment group 2 ID]_most_recent_install | |-- [deployment group N ID]_most_recent_install |-- deployment-logs | |-- codedeploy-agent-deployments.log
-
部署群組 ID 資料夾表示您的每個部署群組。部署群組目錄的名稱便是其 ID (例如,
acde1916-9099-7caf-fd21-012345abcdef
)。每個部署群組目錄都會為該部署群組中的每一次嘗試部署包含一個子目錄。您可以使用 batch-get-deployments 命令來尋找部署群組 ID。
-
部署 ID 資料夾表示部署群組中的每一個部署。每一個部署目錄的名稱便是其 ID。每個資料夾都包含:
-
bundle.tar – 包含部署修訂內容的壓縮檔案。若要檢視修訂內容,則可使用 zip 格式的解壓縮公用程式。
-
deployment-archive – 包含部署修訂內容的目錄。
-
logs,一個包含
scripts.log
檔案的目錄。此檔案會列出部署的 AppSpec 檔案中指定之所有指令碼的輸出。
如果您想要尋找部署的資料夾,但不知道其部署 ID 或部署群組 ID,您可以使用 AWS CodeDeploy 主控台
或 AWS CLI 來尋找它們。如需詳細資訊,請參閱檢視 CodeDeploy 部署詳情 。 部署群組中預設可封存的部署數上限為五。當到達這數字後,便會封存未來的部署,並刪除最舊的封存。您可以使用 CodeDeploy 代理程式組態檔案中的 max_revisions 設定來變更預設值。如需詳細資訊,請參閱CodeDeploy 用戶端組態參考。
注意
若您想要還原封存部署所使用的硬碟空間,請更新 max_revisions 設定,將該值減少 1 或 2。下一個部署會刪除封存部署,所以這個數目等於是您指定的。
-
-
deployment-instructions 包含每個部署群組的四個文字檔:
-
[Deployment Group ID]-cleanup,一個文字檔,具有在部署期間執行之每個命令的還原版本undo 。範例檔案名稱為
acde1916-9099-7caf-fd21-012345abcdef-cleanup
-
【部署群組 ID】-install.json,這是在最近部署期間建立的 JSON 檔案。它包含在部署中執行的命令。範例檔案名稱為
acde1916-9099-7caf-fd21-012345abcdef-install.json
-
[Deployment Group ID]_last_successfull_install,一個文字檔,其列出上一次成功部署的封存目錄。當 CodeDeploy 代理程式已將部署應用程式中的所有檔案複製到執行個體時,就會建立此檔案。下次部署期間, CodeDeploy 代理程式會使用它來決定要執行哪些
ApplicationStop
和BeforeInstall
指令碼。範例檔案名稱為acde1916-9099-7caf-fd21-012345abcdef_last_successfull_install
-
[Deployment Group ID]_most_recent_install,一個文字檔,其列出最近部署的封存目錄的名稱。這個檔案是在部署中的檔案成功下載時建立的。[deployment group ID]_last_successfull_install 檔案則在下載的檔案複製到其最終目的地後建立。範例檔案名稱為
acde1916-9099-7caf-fd21-012345abcdef_most_recent_install
-
-
deployment-logs 包含下列日誌檔:
-
每天有部署時建立 codedeploy-agent.yyyymmdd.log 檔案。每個日誌檔案包含當日的部署資訊。這些日誌檔也許對偵測問題有用處,例如權限問題。這個日誌檔原本命名為
codedeploy-agent.log
。隔天,其部署的日期會插入檔案名稱。例如,如果今天是 2018 年 1 月 3 日,您可以查看有關所有今日在codedeploy-agent.log
的部署 。明日 2018,1 月 4 日,日誌檔會重新命名codedeploy-agent.20180103.log
。 -
codedeploy-agent-deployments.log 會編譯每個部署
scripts.log
的檔案內容。scripts.log
檔案位於每個Deployment ID
資料夾下的logs
子資料夾。此檔案中的項目前面是部署 ID。例如,「[d-ABCDEF123]LifecycleEvent - BeforeInstall
」可能會在 ID 為d-ABCDEF123
的部署期間寫入。當codedeploy-agent-deployments.log
達到其大小上限時, CodeDeploy 代理程式會在刪除舊內容時繼續寫入。
-