AWS全託管程式碼成品(Artifact)儲存庫CodeArtifact現在可以更好地支援Swift開發者,CodeArtifact能夠儲存和檢索Apple平臺的套件相依項目,並整合標準開發人員工具Xcode、xcodebuild和Swift Package Manager(SwiftPM),使開發人員可以方便地管理這些Swift程式碼成品。

簡單的應用程式可能只用到數十個套件,但大型企業的應用程式可能包含數百個相依項目,這些套件分別解決不同的任務,像是網路存取、加密函式,或是資料格式操作等,使開發人員能夠更快地開發和測試應用程式。同時開發人員也會嵌入SDK來存取遠端服務,而這些SDK可能來自組織中其他團隊,或是由第三方維護。

因此管理套件和相依性成了目前軟體開發很重要部分,AWS提到,組織管理程式碼成品存在兩個重要挑戰,分別是合法性與安全性。組織必須確保第三方軟體套件的授權,與套件專案的預期用途相容,並且該軟體套件不會侵犯他人智慧財產權,另外,組織也必須確保所使用的程式碼安全可用,沒有後門或是刻意被置入的漏洞,以防範近年流行的供應鏈攻擊。

為此,企業需要在本地或是雲端建置私有軟體套件伺服器,規範開發人員只能使用該伺服器上經過審查的軟體套件。而CodeArtifact則是一個可供企業存放私人套件的雲端服務,過去CodeArtifact支援的套件管理器和建置工具,包括Maven、Gradle、npm、Yarn、Twine、pip和NuGet,而現在還支援原生Swift套件。

開發者可以從CodeArtifact儲存庫發布和下載Swift套件相依項目,CodeArtifact SwiftPM也能夠與現有開發工具搭配使用。在將套件儲存到CodeArtifact之後,開發者便可以在專案的Package.swift或是Xcode專案中參照使用,如同在Git端點存取公共Swift套件一樣。

要上傳Swift套件到CodeArtifact,Swift版本需要使用5.8版本以上,因此要處理iOS、iPadOS、tvOS、watchOS的應用程式開發時,開發者就必須使用Xcode 15。Swift 5.9提供了一個swift package-registry publish命令,讓開發者可將套件上傳到CodeArtifact,而Swift 5.8則可以先使用curl命令上傳程式碼成品。

CodeArtifact在收費方面,Swift程式碼成品與其他已經支援的程式碼成品格式相同,並且現已在13個地區開放支援。

熱門新聞

Advertisement