⑴ Git子模块使用说明
介绍
在开发前端应用时,不同应用之间可能存在共同的脚本或样式代码。为了减少重复开发,可以将这些公共代码提取出来,形成独立的 git 子模块,便于调用和管理。
软件架构
该仓库的代码将作为 git 子模块,被引用到其他仓库中,但无法独立运行。
使用说明
1. 添加子模块
使用命令 git submole add [仓库 url] [项目中的路径],执行后会在指定路径创建以最后一级名称命名的文件夹。
注意:子模块的路径不能与已存在的文件夹冲突,否则会报错。
2. 更新子模块
可以在独立的项目中修改子模块代码,也可以在项目中直接修改。修改完成后,需要将更改提交到远程仓库,其他项目才能同步最新的代码。
3. 删除子模块
在 Jenkins 中使用子模块时,需要配置两个地方:
1. 在构建前执行以下命令
2. 配置凭证,以便拉取子模块代码
注意事项
参考资料
Git: submole 子模块简明教程
⑵ Jenkins集成GitLab的正确姿势,实现Git代码提交触发CI/CD
为了实现Jenkins与GitLab之间的集成,以便在Git代码提交时触发CI/CD流程,我们需遵循以下步骤。首先,安装GitLab插件。
在配置Jenkins服务器时,创建GitLab凭证,并将其填充到“Manage Jenkins->System->enable authentication for '/project' end-point”中。此配置为Jenkins job提供了访问GitLab的凭证,在Jenkinsfile中使用该凭证。
创建Jenkins job,选择源代码管理为Git,填写GitLab上源码仓库地址。设置构建触发器为“Build when a change is pushed to GitLab”,并获取GitLab webhook URL。在高级设置中,允许特定分支的构建,并生成用于防止他人触发Jenkins的回调URL的token。
当遇到高版本Jenkins的403错误时,可修改配置以关闭防跨站点请求伪造(CSRF)保护。在容器中,编辑Jenkins.sh脚本,在执行java命令前添加参数-Dhudson.security.csrf..DISABLE_CSRF_PROTECTION=true。
配置GitLab webhook以接收代码提交通知。在GitLab repo的Settings-Integrations中,填写生成的URL和Secret Token,点击“Add webhook”。检查Jenkins是否有自动构建记录。
为了在GitLab上查看Jenkins job的执行状态,需要在上述步骤的基础上进行额外配置。确保Jenkins与GitLab之间的集成完全运行并正常接收代码提交事件。参考文档以获取详细说明。