Dra-M Dra-M
首页
技术
冥思
哲学
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

莫小龙

保持理智,相信未来。
首页
技术
冥思
哲学
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Java

  • Golang

  • 编程思想

  • 微服务

  • 中间件

  • Python

  • 运维

    • Linux

    • Bash

    • DevOps

      • 前言:搭建一套自有的围绕K8S的DevOps工具
      • 部署K8S -- kubeasz
      • 部署NFS服务器
      • 为K8S添加StorageClass
      • 学习用NodePort暴露K8S服务
      • 外部nginx代理到nodeport
      • 使用Docker安装LDAP
      • 使用K8S部署LDAP管理面板
      • 使用Docker部署第三方K8S面板Kuboard,并连接LDAP
      • 使用K8S部署GitLab,并连接LDAP
      • 使用K8S部署Jenkins,并连接LDAP
      • 使用K8S部署Nexus,并连接LDAP
      • Nexus Maven私服配置
      • Nexus Docker私服配置+K8S拉取私服镜像
      • Jenkins Pipeline 从 K8s Agent 启动构建
      • Jenkins Pipeline 拉取Git代码 获取提交信息
      • Jenkins Pipeline Maven打包
      • Jenkins Pipeline BuildDockerImage 推送到私服
        • 在凭证里添加nexus的凭证
        • Pipeline
      • Jenkins Pipeline 部署程序到K8S
      • Jenkins Pipeline 共享库
      • Loki日志收集+K8S
      • SkyWalking链路追踪+K8S、
      • SpringCloud+K8S联调说明
      • DevOps WebHook汇总 (Gitlab,Jenkins,K8S Event)
  • 技术
  • 运维
  • DevOps
莫小龙
2022-04-11
目录

Jenkins Pipeline BuildDockerImage 推送到私服

如果在Pod Agent内执行需要基于我的带Docker的Agent镜像,或自己在Jenkins-Agent上封装Docker功能,我的Docker镜像不保证维护,建议使用自己的

# 在凭证里添加nexus的凭证

类型username and password

# Pipeline

env.appName = "myapp"
env.BUILD_TAG = "Jenkins自动生成这个 是构建的序列号"
env.serviceDir = "."
env.entrypoint = "java -jar /app.jar"

stage("docker build and push") {
    sh "mkdir /etc/docker/"
    //配置私服支持http协议
    def daemon = '{\"registry-mirrors\":[\"https://docker.mirrors.ustc.edu.cn\"],\"insecure-registries\":[\"nexus3:8082\",\"nexus3:8083\"]}'
    dir(env.serviceDir) {
        sh "echo '" + daemon + "' > /etc/docker/daemon.json"
        sh "service docker stop"
        sh "service docker start"
        //生成dockerfile 打包
        sh "echo FROM openjdk:8u312-oracle >Dockerfile"
        sh "echo COPY ./target/*.jar /app.jar >>Dockerfile"
        //程序入口
        sh 'echo ENTRYPOINT ' + env.entrypoint + ' >>Dockerfile'
        //打包
        image = docker.build "${env.appName}:${env.BUILD_TAG}"
        //登陆私服 引用密钥
        docker.withRegistry("http://nexus3:8082/repository/docker-dram/", "f65db64b-5f08-4c24-b39a-bf9227e37f74") {
            //推送镜像
            image.push(env.BUILD_TAG)
        }
    }
}
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

#DevOps#K8S#运维#jenkins#pipeline#docker
上次更新: 10/23/2024
Jenkins Pipeline Maven打包
Jenkins Pipeline 部署程序到K8S

← Jenkins Pipeline Maven打包 Jenkins Pipeline 部署程序到K8S→

最近更新
01
mosquito配置ws协议
10-23
02
Pip包的离线下载和安装
10-23
03
stable diffusion 相关收藏
02-24
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Dra-M
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式