pipeline

Posted on   无话可话  阅读(92)  评论(0编辑  收藏  举报
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
pipeline {
    agent any
 
    options {
 
        skipDefaultCheckout()
        disableConcurrentBuilds()
        timeout(time: 1, unit: 'HOURS')
    }
    environment {
        HARBOR_URL = 'xxxxx'
        HARBOR_USER = 'xxxxx'
        HARBOR_PWD = 'xxxxxxx'
        HARBOR_PROJECT_NAME = 'devops'
    }
    stages {
        stage('getcode') {
            agent {
                docker {
                    image 'xxxxxxx/middleware/ubuntu1404'
                    alwaysPull true
                    reuseNode true
                }
            }
                steps {
                    checkout scm
                    echo "Successfully get gitlab code!!"
                }
            }
        stage('Build images and push images to Harbor') {
         
            agent {
                docker {
                    image 'xxxxxxxx/big-data/devops-jenkins-slave'
                    args '-v /var/run/docker.sock:/var/run/docker.sock'
                    alwaysPull true
                    reuseNode true
                }
            }
            steps{
                script {
                    // 获取提交地址及获取tag版本号
                    gitlab_url = "$env.gitlabSourceRepoSshUrl"
                    push_type = "$env.gitlabActionType"                   
                    split_url = gitlab_url.split("xxxxxxxxxxxxxxxx/")
                    split_1 = split_url[-1]
                    split_2 = split_1.split(".git")
                    gitlab_name = split_2[0]
                    tag_1 = "$env.gitlabSourceBranch"
                    tag_2 = tag_1.split("/")
                    tag_version = tag_2[-1]
                    docker_name = gitlab_name.replaceAll("/","-")
                    //构建及推送到Harbor仓库
                    build_docker_name = "$docker_name"
                    sh "docker pull xxxxxx/middleware/ubuntu1404"
                    sh "docker login -u xxxxxxx-p xxxx xxxxx.com"
                    sh "docker build -t xxxxxxxx/devops/${build_docker_name}:${tag_version} ."
 
                    println "xxxxxxxx/devops/${build_docker_name}:${tag_version} build success!"
                    sh "docker push xxxxxxxx/devops/${build_docker_name}:${tag_version}"
                    println "xxxx.com/devops/${build_docker_name}:${tag_version} push success!"
                    // 推送到redmine创建任务
                    sh "curl \"http://redmine.xxxxx.com/create_deploy_issue?user_mail=${env.gitlabUserEmail}&project_full_id=${build_docker_name}&project_version=${tag_version}&gitlabSourceRepoHomepage=${env.gitlabSourceRepoHttpUrl}\""
                }
            }
        }
    }
}

  

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

随笔 - 4, 文章 - 0, 评论 - 0, 阅读 - 195

Copyright © 2025 无话可话
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示