目 录CONTENT

文章目录

Jenkins模拟GitOps系列03-Jenkins与GitLab集成

cplinux98
2022-04-04 / 0 评论 / 0 点赞 / 318 阅读 / 272 字 / 正在检测是否收录...

00:文章简介

介绍基于Jenkins的GITOPS中的 Jenkins与GitLab集成。

我们需要使用gitlab中的webhook来通知Jenkins进行代码构建。

安装插件: gitlab 和 git

01:配置gitlab的出站请求

image-20220404215549032

02:生成ssh密钥

在jenkins主机上执行

ssh-keygen
# 公钥文件
~/.ssh/id_rsa.pub 
# 私钥文件
~/.ssh/id_rsa

03:将公钥存放在gitlab上

image-20220404202908534

04:配置Jenkins私钥认证

将私钥存放在Jenkins凭据中

image-20220404215950005

05:创建GitLab的AccessToken

image-20220404220213221

复制生成的token

5KK_xa5spCYwDz4Cf4oB

06:创建AccessToken凭据

image-20220404220419881

07:配置Gitlab端点

image-20220404220619833

08:测试gitlab流水线

image-20220404222537086

image-20220404221249520

这里如果jenkins是https,需要勾选下方的ssl验证,否则不用勾选

image-20220404222921209

测试

image-20220404222741527

image-20220404222727485

09:测试自动触发

pipeline

pipeline {
    environment {
        appName = "spring-boot-helloworld"
        appVersion = "v0.9.2"
    }
    agent {
        kubernetes {
            inheritFrom 'maven-and-docker'
        }
    }
    stages {
        stage('Source') {
            steps {
                git branch: 'develop', url: 'http://gitlab.linux98.com:8080/root/test.git'
            }
        }
        stage('Build') {
            steps {
                container('maven'){
                    sh 'mvn clean test package'
                }
            }
        }
        stage('Build app image'){
            steps {
                container('docker'){
                    script {
                        dockerimage = docker.build appName + ":" + appVersion
                    }
                }
            }
        }
    }
}
0

评论区