当前位置: 首页 > news >正文

CI/CD(八) gitlab搭配Jenkins的ci/cd配置

一、基本配置

点击偏好设置

ea6267f5b46a4537a65173d42916acad.png

选择中文-->保存

2c004cf24a564d328fea29af1008bd8a.png8.开启本地网络请求

aaf8e8f036024678a602c833150fc730.png

二、gitlab上传项目(测试)

1.创建群组

9d9589fef0c24fde925ab1874fbd4a99.png

2.新建项目

9fda0fb6a0e74337b433cc67a415c1ef.png

81ea81153b4a47d985cb4f2d7c31835a.png

3.推送代码(略,有ssh和https)

三、配置jenkins和gitlab免密

两种:一种是jenkins主机生成sshkey,放到gitlab里,另一种是gitlab生成个人访问凭据,放到jenkins里,此处选择第二种

1、修改访问令牌限制,不修改默认最大一年

回到jenkins的web界面上添加凭据

PS:---------------------------------------------------------------------------------------------------------------

1、这里一定要再添加一个gitlab账号密码的凭据(图略),如管理员的账号,不然流水线那边选不了凭据

2、宿主机安装JDK,MAVEN(图略),为什么要安装,因为需要在容器中的jenkins挂载使用

maven的xml文件记得修改仓库哦

系统配置

安装gitlab api和gitlab(安装jenkins就已经安装了)插件

配置gitlab地址:

系统全局配置

maven

jdk

安装指定

四、创建jenkins流水线项目

生成的脚本如下:
checkout scmGit(branches: [[name: '*/master'], [name: '*/dev']], extensions: [], userRemoteConfigs: [[credentialsId: 'yh', url: 'http://10.60.0.20:8929/first-group/rc-vue.git']])

最后把这个放进流水线脚本中。最终脚本如下:

pipeline {
    agent any

    tools {
        // 这里是你系统全局配置的maven别名
        maven "maven"
    }

    stages {
        stage('Build') {
            steps {
                checkout scmGit(branches: [[name: '*/master'], [name: '*/dev']], extensions: [], userRemoteConfigs: [[credentialsId: 'yh', url: 'http://10.60.0.20:8929/first-group/rc-vue.git']])
                sh "mvn -Dmaven.test.failure.ignore=true clean package"
            }
        }
         stage('build image') {
            steps {
                sh """
                docker login -u admin -p Harbor12345 10.60.0.20:18080
                docker build -t rc-vue-first:v1.0 .
                docker tag rc-vue-first:v1.0 10.60.0.20:18080/project/rc-vue-first:v1.0
                docker push 10.60.0.20:18080/project/rc-vue-first:v1.0
                docker rmi rc-vue-first:v1.0
                docker rmi 10.60.0.20:18080/project/rc-vue-first:v1.0
                """
            }
        }
    }
}

相关文章:

  • OpenHarmony NativeC++应用开发speexdsp噪声消除案例
  • word光标一直闪的解决办法
  • 【TCP】三次握手,四次挥手详解--UDP和TCP协议详解
  • 推荐一个好用的文字转语音网站
  • 林曦:在枯燥里积累能力,把平常过成精进的日常
  • 基于Pycatia的智能孔特征识别技术:无参模型圆心自动化提取方案
  • electron打包vue2项目流程
  • 【Java】——程序逻辑控制(构建稳健代码的基石)
  • unity实现图片查看器有限制的移动缩放功能
  • Axure项目实战:智慧运输平台后台管理端-母版、登录(文本框高级交互)
  • 【C++】AVL树
  • 音视频 一 看书的笔记 基础视频知识
  • 电话号码的字母组合组合总和II 回溯注意事项(Java)
  • AI玩具迎来爆发式增长,IoT行业如何抓住机遇?
  • Linux 目录结构(文件系统结构)示例说明
  • Python第六章15:字典(dict)定义
  • XCode中使用MonkeyDev开发iOS版的Comand-line Tool的daemon程序
  • IntelliJ IDEA(2024版) 的安装、配置与使用教程:常用配置、创建工程等操作(很详细,你想要的都在这里)
  • Redis 和 MySQL双写一致性的更新策略有哪些?常见面试题深度解答。
  • vue3 vite mock实践
  • 宁波seo/站长工具seo综合查询工具
  • 怎么做网站自动采集数据库/十大seo公司
  • 网站建设发展制度/武汉seo公司出 名
  • 律师网站建设建议/郑州seo培训
  • 虚拟主机与网站建设/大连网站seo
  • 网站建设云主机云服务器/武汉大学人民医院洪山院区