• 沒有找到結果。

本文采用Go Modules打包方式完成Go组件的构建与上传。

打包命令主要包括以下几部分:

1. 在工作目录中创建源文件夹。

mkdir -p {module}@{version}

2. 将代码源拷贝至源文件夹下。

cp -rf . {module}@{version}

3. 压缩组件zip包。

zip -D -r [包名] [包根目录名称]

4. 上传组件zip包与“go.mod”文件到私有依赖库中。

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/{filePath} -T {{localFile}}

根据打包的版本不同,组件目录结构有以下几种情况:

● v2.0以下版本:目录结构与“go.mod”文件路径相同,无需附加特殊目录结构。

● v2.0以上(包括v2.0)版本:

– “go.mod”文件中第一行以“/vX”结尾:目录结构需要包含“/vX”。例 如,版本为v2.0.1,目录需要增加“v2”。

– “go.mod”文件中第一行不以“/vN”结尾:目录结构不变,上传文件名需 要增加“+incompatible”。

mkdir -p ~/example.com/[email protected]

b. 将代码源拷贝至源文件夹下。

参数值与上一步一致,命令行如下:

cp -rf . ~/example.com/[email protected]/

c. 压缩组件zip包。

首先,使用以下命令,进入组件zip包所在根目录的上层目录。

cd ~

然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为

“example.com”“包名”自定义为“v1.0.0.zip”,因此命令如下:

zip -D -r v1.0.0.zip example.com/

d. 上传组件zip包与“go.mod”文件到私有依赖库中。

命令行中,参数“username”、“password”、“repoUrl”均可通过私有 依赖库配置文件获取。

对于zip包,参数“filePath”为“example.com/demo/@v/

v1.0.0.zip”,“localFile”为“v1.0.0.zip”。

对于“go.mod”文件,参数“filePath”为“example.com/demo/@v/

v1.0.0.mod”,“localFile”为“example.com/[email protected]/

go.mod”。

因此命令如下(参数username、password、repoUrl请参照私有依赖库配置 文件自行修改):

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v1.0.0.zip -T v1.0.0.zip

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v1.0.0.mod -T example.com/[email protected]/go.mod

v2.0以上版本打包,且“go.mod”文件中第一行以“/vX”结尾。

以下图所示“go.mod”文件为例。

a. 在工作目录中创建源文件夹。

命令行中,参数“module”的值为“example.com/demo/v2”,参数

“version”自定义为“2.0.0”。因此命令如下:

mkdir -p ~/example.com/demo/[email protected]

b. 将代码源拷贝至源文件夹下。

参数值与上一步一致,命令行如下:

cp -rf . ~/example.com/demo/[email protected]/

c. 压缩组件zip包。

首先,使用以下命令,进入组件zip包所在根目录的上层目录。

cd ~

然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为

“example.com”“包名”自定义为“v2.0.0.zip”,因此命令如下:

zip -D -r v2.0.0.zip example.com/

d. 上传组件zip包与“go.mod”文件到私有依赖库中。

对于zip包,参数“filePath”为“example.com/demo/v2/@v/

v2.0.0.zip”,“localFile”为“v2.0.0.zip”。

对于“go.mod”文件,参数“filePath”为“example.com/

demo/v2/@v/v2.0.0.mod”,“localFile”为“example.com/demo/

[email protected]/go.mod”。

因此命令如下(参数username、password、repoUrl请参照私有依赖库配置 文件自行修改):

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/v2/@v/v2.0.0.zip -T v2.0.0.zip

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/v2/@v/v2.0.0.mod -T example.com/demo/[email protected]/go.mod

v2.0以上版本打包,且“go.mod”文件中第一行不以“/vX”结尾。

以下图所示“go.mod”文件为例。

a. 在工作目录中创建源文件夹。

命令行中,参数“module”的值为“example.com/demo”,参数

“version”自定义为“3.0.0”。因此命令如下:

mkdir -p ~/example.com/[email protected]+incompatible

b. 将代码源拷贝至源文件夹下。

参数值与上一步一致,命令行如下:

cp -rf . ~/example.com/[email protected]+incompatible/

c. 压缩组件zip包。

首先,使用以下命令,进入组件zip包所在根目录的上层目录。

cd ~

然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为

“example.com”“包名”自定义为“v3.0.0.zip”,因此命令如下:

zip -D -r v3.0.0.zip example.com/

d. 上传组件zip包与“go.mod”文件到私有依赖库中。

命令行中,参数“username”、“password”、“repoUrl”均可通过私有 依赖库配置文件获取。

对于zip包,参数“filePath”为“example.com/demo/@v/

v3.0.0+incompatible.zip”,“localFile”为“v3.0.0.zip”。

对于“go.mod”文件,参数“filePath”为“example.com/demo/@v/

v3.0.0+incompatible.mod”,“localFile”为“example.com/

[email protected]+incompatible/go.mod”。

因此命令如下(参数username、password、repoUrl请参照私有依赖库配置 文件自行修改):

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/

v3.0.0+incompatible.zip -T v3.0.0.zip

curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/

v3.0.0+incompatible.mod -T example.com/[email protected]+incompatible/go.mod

快速入门 5 通过编译构建任务发布/获取 Go 私有组件

6 通过编译构建任务发布/获取 PyPI 私有组件

本文档介绍如何通过编译构建任务发布私有组件到PyPI私有依赖库、如何从PyPI私有 依赖库获取依赖包完成编译构建任务。

前提条件

1. 已有可用项目与代码仓库。如果没有项目,请先新建项目。

2. 已创建PyPI格式私有依赖库。

相關文件