有了凭证管理过后后续在拉取代码的时候会用到进行鉴权
Docker Harbor 仓库凭证
主要采用用户名密码的形式进行存储,在后续进行构建完成后把镜像包上传到Harbor仓库上面
为了方便不同项目不用每个都开启一个Harbor账号,可以由CICD平台统一开起一个默认的Harbor账号初始化进项目中
PS:无论是Git账号、Docker Harbor账号在持久化存储的时间,都必须镜像密码加密存储,加密方式参考:
https://blog.csdn.net/u010800804/article/details/118708711
代码源管理
在CICD系统中,需要用到源代码授权,在获取源代码的情况进行然后进行不同开发语言进行打包
使用统一代码仓库作为代码源,将从您在平台对应的GitLab个人账号下选择一个自己的代码仓库,在CI/CD系统中的当前项目内进行共享。
表示代码源添加后,本项目内的所有成员都可以在构建任务、单元测试中使用该代码仓库作为自己的代码源,同时不需要配置其他鉴权信息就可以在任务执行过程中下载到该代码仓库的代码。
如后续使用中需要取消共享,您可以在代码源中移除自己添加的代码仓库,但移除后可能会导致依赖的任务无法执行。
在这里会用到远程调用Gitlab【或者其他代码仓库管理平台】API,进行当前用户账号有权限的代码和公共的代码仓库,当然可以进行搜索。
在上面讲到的凭证管理,推荐大家使用项目token的方式
在Gitlab进行token权限设置,只给只读权限,因为CICD平台只会拉取代码进行构建产物,不会对源代码镜像修改和提交,当然防止别有用心之人对其进行修改。
基础设置
角色管理
支持自定义角色,可以给自定义角色划分相应的增删改查权限【如流水线、构建权限等】
成员管理
支持管理员主动从用户中心进行人员同步
在外层公共的地方也支持用户主动进行申请,然后项目管理员进行审核
构建管理
基本信息
构建的名字、构建的添加时间、构建的其他基础信息【如是否禁用等字段】
选择代码源
构建的时候是否是固定分支、出发的方式又是什么【如手动构建、Webhook的方式构建】可以进行编辑及选择
构建步骤
进行常用的代码进行做成模板进行构建【如Java构建、Golang构建、NPM构建等】,或者自定义命令介绍。
使用封装好的Java代码编译环境(如Maven、JDK),以docker run的方式启动一个临时的容器进行构建。【这会编译在Jenkins脚本中】
构建的时候传入凭证、构建信息等,调用Jenkins的API进行调用。
Dcoker进行镜像构建,输入相应的参数
通过“docker build”和“docker push”把构建结果以镜像方式进行交付至镜像仓库。
docker build的Context为代码根目录,注意Dockerfile中的相对路径要以根目录为参考。