本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用和發佈 Swift 套件
使用斯威夫特軟件包 CodeArtifact
使用下列程序來使用 AWS CodeArtifact 儲存庫中的 Swift 套件。
若要使用 CodeArtifact 儲存庫中的 Swift 套件
如果您還沒有,請依照中的步驟設使用配置 Swift Package 管理器 CodeArtifact定「Swift Package 管理員」,以使用適當的認證來使用 CodeArtifact 儲存庫。
注意
生成的授權令牌有效期為 12 小時。如果自創建令牌以來已經過去了 12 個小時,則需要創建一個新的。
-
編輯應用程式專
Package.swift
案資料夾中的檔案,以更新專案要使用的套件相依性。如果
Package.swift
檔案不包含dependencies
區段,請新增一個區段。在
Package.swift
檔案的dependencies
區段中,透過新增套件識別碼來新增您要使用的套件。包標識符由範圍和包名稱由一個句點分隔。如需範例,請參閱稍後的步驟之後的程式碼片段。提示
若要尋找套件識別碼,您可以使用主 CodeArtifact 控台。尋找您要使用的特定套件版本,並參考套件版本頁面上的「安裝」捷徑指示。
如果
Package.swift
檔案不包含targets
區段,請新增一個區段。在此
targets
區段中,新增需要使用相依性的目標。下面的代碼片段是一個示例代碼片段
dependencies
,顯示Package.swift
文件中配置的targets
部分:... ], dependencies: [ .package(id: "
my_scope
.package_name
", from: "1.0.0
") ], targets: [ .target( name: "MyApp
", dependencies: ["package_name
"] ),... ], ...
現在,所有內容都已配置完畢,請使用以下命令從中下載軟件包依賴關係 CodeArtifact。
swift package resolve
CodeArtifact 在 Xcode 中使用斯威夫特軟件包
使用以下過程從 Xcode 中的 CodeArtifact 存儲庫中使用 Swift 軟件包。
從 Xcode 中的 CodeArtifact 存儲庫中使用 Swift 軟件包
如果您還沒有,請依照中的步驟設使用配置 Swift Package 管理器 CodeArtifact定「Swift Package 管理員」,以使用適當的認證來使用 CodeArtifact 儲存庫。
注意
生成的授權令牌有效期為 12 小時。如果自創建令牌以來已經過去了 12 個小時,則需要創建一個新的。
-
在 Xcode 中將軟件包作為依賴項添加到項目中。
選擇「檔案 > 新增套件」。
使用搜尋列搜尋您的套件。您的搜索必須在表格中
package_scope.package_name
。找到後,選擇軟件包並選擇添加包裹。
驗證 Package 件後,請選擇要新增為相依性的套件產品,然後選擇「新增套件」。
如果您在 Xcode 中使用 CodeArtifact 存儲庫時遇到問題,請參迅速的故障閱常見問題和可能的修復。
發布斯威夫特軟件包 CodeArtifact
CodeArtifact 推薦 Swift 5.9 或更高版本,並使用該swift package-registry publish
命令發布 Swift 軟件包。如果您使用的是較早的版本,則必須使用 Curl 命令將 Swift 套件發佈到 CodeArtifact.
使用swift package-registry publish
指令發佈 CodeArtifact 套件
使用下列程序搭配 Swift 5.9 或更新版本,將 Swift 套件發佈至具有「Swift Package 件管理員」的 CodeArtifact 儲存庫。
如果您還沒有,請依照中的步驟設使用配置 Swift Package 管理器 CodeArtifact定「Swift Package 管理員」,以使用適當的認證來使用 CodeArtifact 儲存庫。
注意
生成的授權令牌有效期為 12 小時。如果自創建以來已過 12 小時,則需要創建一個新的。
-
導航到包含包含
Package.swift
文件的 Swift 項目目錄。 -
執行下列
swift package-registry publish
命令以發佈套件。此指令會建立套件來源封存檔,並將其發佈至您的 CodeArtifact 存放庫。swift package-registry publish
packageScope
.packageName
packageVersion
例如:
swift package-registry publish
myScope
.myPackage
1.0.0
您可以簽入主控台或使用
aws codeartifact list-packages
指令,來確認套件已發佈且存在於存放庫中,如下所示:aws codeartifact list-packages --domain
my_domain
--repositorymy_repo
您可以使用
aws codeartifact list-package-versions
命令列出單個版本的軟件包,如下所示:aws codeartifact list-package-versions --domain
my_domain
--repositorymy_repo
\ --format swift --namespacemy_scope
--packagepackage_name
使用 Curl 發佈 CodeArtifact 套件
雖然建議您使用 Swift 5.9 或更新版本隨附的swift package-registry publish
命令,但您也可以使用 Curl 將 Swift 套件發佈到 CodeArtifact.
請使用下列程序,將 Swift 套件發佈至含有 Curl 的 AWS CodeArtifact 儲存庫。
如果尚未執行,請依照中的步驟建立
CODEARTIFACT_AUTH_TOKEN
並更新和CODEARTIFACT_REPO
環境變數使用配置 Swift Package 管理器 CodeArtifact。注意
身分驗證字符的有效期為 12 小時。如果自建立以來已過 12 小時,您將需要使用新認證重新整理
CODEARTIFACT_AUTH_TOKEN
環境變數。-
首先,如果你沒有創建一個 Swift 包,你可以通過運行以下命令來做到這一點:
mkdir
testDir
&& cdtestDir
swift package init git init . swift package archive-source 使用以下 Curl 命令將您的 Swift 包發布到 CodeArtifact:
您可以簽入主控台或使用
aws codeartifact list-packages
指令,來確認套件已發佈且存在於存放庫中,如下所示:aws codeartifact list-packages --domain
my_domain
--repositorymy_repo
您可以使用
aws codeartifact list-package-versions
命令列出單個版本的軟件包,如下所示:aws codeartifact list-package-versions --domain
my_domain
--repositorymy_repo
\ --format swift --namespacemy_scope
--packagepackage_name
從中獲取 Swift 軟件包 GitHub 並重新發布到 CodeArtifact
請使用下列程序來擷取 Swift 套件, GitHub 並將其重新發佈至 CodeArtifact 儲存庫。
要從中獲取 Swift 包 GitHub 並將其重新發布到 CodeArtifact
如果您還沒有,請依照中的步驟設使用配置 Swift Package 管理器 CodeArtifact定「Swift Package 管理員」,以使用適當的認證來使用 CodeArtifact 儲存庫。
注意
生成的授權令牌有效期為 12 小時。如果自創建令牌以來已經過去了 12 個小時,則需要創建一個新的。
-
克隆你想獲取並通過使用下面的
git clone
命令重新發布斯威夫特包的 git 存儲庫。如需複製 GitHub 儲存庫的詳細資訊,請參閱在 GitHub 文件中複製儲存庫。 git clone
repoURL
導航到您剛剛克隆的存儲庫:
cd
repoName
-
建立套件並將其發佈至 CodeArtifact。
建議:如果您使用的是 Swift 5.9 或更新版本,您可以使用下列
swift package-registry publish
指令建立套件,並將其發佈到您設定的 CodeArtifact 儲存庫。swift package-registry publish
packageScope
.packageName
versionNumber
例如:
swift package-registry publish
myScope
.myPackage
1.0.0
如果您使用的是早於 5.9 的 Swift 版本,則必須使用該
swift archive-source
命令來創建包,然後使用 Curl 命令發布它。如果您尚未設定
CODEARTIFACT_AUTH_TOKEN
和CODEARTIFACT_REPO
環境變數,或已經超過 12 小時,請依照中的步驟執行配置斯威夫特沒有登錄命令。-
通過使用
swift package archive-source
命令創建斯威夫特包:swift package archive-source
如果成功,您將
Created
在命令行中看到。package_name
.zip 使用下面的 Curl 命令來發布斯威夫特包 CodeArtifact:
您可以簽入主控台或使用
aws codeartifact list-packages
指令,來確認套件已發佈且存在於存放庫中,如下所示:aws codeartifact list-packages --domain
my_domain
--repositorymy_repo
您可以使用
aws codeartifact list-package-versions
命令列出單個版本的軟件包,如下所示:aws codeartifact list-package-versions --domain
my_domain
--repositorymy_repo
\ --format swift --namespacemy_scope
--packagepackage_name