Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
徐晓伟工作室
gitlab-k8s
提交
29fcfaaa
G
gitlab-k8s
项目概览
徐晓伟工作室
/
gitlab-k8s
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-k8s
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
29fcfaaa
编写于
7月 03, 2023
作者:
徐晓伟
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
📝
GitLab Maven 仓库
上级
e12a0603
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
138 addition
and
0 deletion
+138
-0
README.md
README.md
+2
-0
gitlab/maven-configuration.md
gitlab/maven-configuration.md
+136
-0
未找到文件。
README.md
浏览文件 @
29fcfaaa
...
...
@@ -18,6 +18,8 @@
#### [GitLab 配置 SSL/https](gitlab/https-configuration.md)
#### [GitLab Maven 仓库](gitlab/maven-configuration.md)
### GitLab Runner
#### [CentOS 安装 GitLab Runner](gitlab-runner/centos-install.md)
...
...
gitlab/maven-configuration.md
0 → 100644
浏览文件 @
29fcfaaa
# GitLab Maven 仓库
## 文档
1.
软件包库中的 Maven 包
1.
[
gitlab-jh 中文文档
](
https://docs.gitlab.cn/jh/user/packages/maven_repository/
)
2.
[
gitlab-ee
](
https://docs.gitlab.com/ee/user/packages/maven_repository/
)
## 配置(以Maven为例)
-
示例项目
[
my-maven-app
](
https://jihulab.com/xuxiaowei-com-cn/my-maven-app
)
1.
身份认证(以下顺序为官方文档的顺序,选择一个适合自己的即可)
1.
在 Maven 中使用个人访问令牌进行身份验证
-
`settings.xml`
文件中的配置如下
```
xml
<settings>
<servers>
<server>
<!-- 固定值 -->
<id>
gitlab-maven
</id>
<configuration>
<httpHeaders>
<property>
<!-- 此方式的固定值,不可改 -->
<name>
Private-Token
</name>
<!-- 个人令牌,推荐在个人电脑上执行时使用(个人令牌需要 api 权限) -->
<value>
REPLACE_WITH_YOUR_PERSONAL_ACCESS_TOKEN
</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
```
2. 在 Maven 中使用部署令牌进行身份验证
- `settings.xml` 文件中的配置如下
```xml
<settings>
<servers>
<server>
<!-- 固定值 -->
<id>gitlab-maven</id>
<configuration>
<httpHeaders>
<property>
<!-- 此方式的固定值,不可改 -->
<name>Deploy-Token</name>
<!-- 部署令牌,推荐在不是 GitLab Runner 流水线时使用 -->
<!-- 在项目的仓库设置中可创建部署令牌,需要 read_package_registry、write_package_registry 权限 -->
<value>REPLACE_WITH_YOUR_DEPLOY_TOKEN</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
```
3. 使用 Maven 中的 CI 作业令牌进行身份验证
- `settings.xml` 文件中的配置如下
- 此处使用的是 GitLab Runner 流水线发布 jar 包(其他方式发布时的命令雷同)
-
示例项目[[my-maven-app](https://jihulab.com/xuxiaowei-com-cn/my-maven-app)](https://jihulab.com/xuxiaowei-com-cn/my-maven-app)
中使用自定义 `settings.xml` 文件名为 `settings-jihulab.xml`,并在其中增加了国内Maven仓库代理,用于加速依赖下载,发布命令
- 仅发布二进制:`mvn clean -U package deploy -DskipTests -s settings-jihulab.xml`
- 发布二进制、源码:`mvn clean -U package source:jar deploy -DskipTests -s settings-jihulab.xml`
-
发布二进制、源码、javadoc:`mvn clean -U package source:jar javadoc:jar deploy -DskipTests -s settings-jihulab.xml`
```xml
<settings>
<servers>
<server>
<!-- 固定值 -->
<id>gitlab-maven</id>
<configuration>
<httpHeaders>
<property>
<!-- 此方式的固定值,不可改 -->
<name>Job-Token</name>
<!-- 如果你使用的是 GitLab Runner 流水线发布项目,推荐使用此方式 -->
<!-- CI_JOB_TOKEN 是 GitLab Runner 流水线的环境变量 -->
<value>${CI_JOB_TOKEN}</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
```
2.
项目级 Maven 端点(发布,仅在 GitLab Runner 流水线发布时可以使用环境变量)
```
xml
<distributionManagement>
<repository>
<!-- 固定值,与 settings.xml 中的 server id 相同,否则私有仓库无法匹配到秘钥发布 -->
<id>
gitlab-maven
</id>
<!-- 其中数字为项目ID,访问项目地址即可看到 -->
<!--<url>https://jihulab.com/api/v4/projects/126877/packages/maven</url>-->
<!-- 使用环境变量 CI_PROJECT_ID 替换项目ID -->
<!-- 使用环境变量 CI_API_V4_URL 替换 GitLab API 接口地址 -->
<url>
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven
</url>
</repository>
<snapshotRepository>
<!-- 固定值,与 settings.xml 中的 server id 相同,否则私有仓库无法匹配到秘钥发布 -->
<id>
gitlab-maven
</id>
<!-- 其中数字为项目ID,访问项目地址即可看到 -->
<!--<url>https://jihulab.com/api/v4/projects/126877/packages/maven</url>-->
<!-- 使用环境变量 CI_PROJECT_ID 替换项目ID -->
<!-- 使用环境变量 CI_API_V4_URL 替换 GitLab API 接口地址 -->
<url>
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven
</url>
</snapshotRepository>
</distributionManagement>
```
3.
项目级 Maven 端点(使用,不能使用环境变量)
使用已发布的 Maven jar 包
```xml
<repositories>
<repository>
<!-- 与 settings.xml 中的 server id 相同,否则私有仓库无法匹配到秘钥发布 -->
<id>gitlab-maven</id>
<!-- https://gitlab.example.com:GitLab 实例的域名(IP),不能使用环境变量 -->
<!-- PROJECT_ID:项目ID,访问需要使用的 Maven jar 包 仓库地址即可查看到项目ID -->
<url>https://gitlab.example.com/api/v4/projects/PROJECT_ID/packages/maven</url>
</repository>
</repositories>
```
4.
发布的Jar包可以在
[
软件包库
](
https://jihulab.com/xuxiaowei-com-cn/my-maven-app/-/packages
)
中看到
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录