Jenkins+Gitlab+Harbor+k8s 简易流水线

1、jenkins插件安装:

Docker Commons Plugin

CloudBees Docker Hub/Registry Notification  等。

2、jenkins全局工具配置

3、凭证配置,需配置gitlab、harbor的账户凭证

4、harbor中创建xxl-job

5、gitlab中创建Dockerfile和deploy.yml

dockerfile

FROM primetoninc/jdk:1.8
run mkdir -p /opt/admin
COPY xxl-job-admin/target/xxl-job-admin-2.3.0.jar /opt/admin
WORKDIR /opt/admin
CMD java -jar xxl-job-admin-2.3.0.jar

deploy.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxl-admin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: xxl-job-admin
  template:
    metadata:
      labels:
        app: xxl-job-admin
    spec:
      containers:
      - name: xxl-job-admin
        imagePullPolicy: IfNotPresent
        image: "harbor.zyc.cmiot/xxl-job/xxl-job-admin:2.3.0"
      nodeName: 10.xx.xx.xx
         
  

6、创建jenkins流水线

pipeline

pipeline{
    agent any
    tools {
        maven 'my-maven'
        jdk 'my-jdk'
    }
    environment {
        DOCKER_CERT_PATH = credentials('b6df91be-f296-48c9-9e3e-f6d96e2877d2')
    }
    stages{
        stage('git clone'){
            steps{
               git branch: 'main', credentialsId: '3b0fa744-7bd1-4e99-903f-56d12339d99d', url: 'http://10.xx.xx.105:8011/root/xxl-job.git'               
            }

        }
        stage('build'){
            steps{
                sh '''
                    mvn clean package
                    docker build -t harbor.zyc.cmiot/xxl-job/xxl-job-admin:2.3.0 .
                '''
            }
        }    
        stage('push image to harbor'){
            steps{
                sh '''
                    docker push harbor.zyc.cmiot/xxl-job/xxl-job-admin:2.3.0
                '''
            }
        }
        stage('deploy'){
            steps{
                sh '/opt/kube/bin/kubectl delete -f deploy.yml && /opt/kube/bin/kubectl apply -f deploy.yml'
            }
        }
    }
}

说明:docker将自动使用DOCKER_CERT_PATH来登录harbor,无需在进行docker login登录

7、运行流水线结果

(1)流水线阶段视图

(2)harbor仓库

(3)k8s pod

参考

1、docker流水线凭证:https://plugins.jenkins.io/docker-commons/

2、https://blog.csdn.net/shykevin/article/details/100165402

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值