Dockerfile和.gitlab-ci.yml文件模板

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录


  • 详细含注释版本请参考另一篇模板:
    Dockerfile和.gitlab-ci.yml文件模板(含详细注释)
  • 关于Java项目Gitlab CI/CD自动化部署的应用可参考:
    K8S部署Java项目(Gitlab CI/CD自动化部署)

以下为Java项目自动化部署所需的配置模板,无注释版本

Dockerfile

FROM openjdk:8-jdk-alpineMAINTAINER hsENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.392.b08-4.0.3.al8.x86_64
ENV MAVEN_HOME=/usr/share/maven
ENV PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
ENV TZ=Asia/ShanghaiWORKDIR /root/jar/k8s-projectENTRYPOINT ["nohup","java","-jar","app.jar"]

.gitlab-ci.yml

variables:HARBOR_IP: 172.30.0.224HARBOR_PORT: 8443HARBOR_URL: ${HARBOR_IP}:${HARBOR_PORT}HARBOR_USERNAME: adminHARBOR_PASSWORD: Harbor12345IMAGE_HARBOR_REPOSITORY: ${HARBOR_IP}:${HARBOR_PORT}/k8s-demoPROJECT_IMAGE_NAME: k8s-springbootPROJECT_IMAGE_TAG: v20240204PROJECT_JAR_DIR: /root/jar/k8s-projectMAVEN_REPOSITORY_DIR: /root/maven/.m2CI_IMAGE_DIR: /root/imagesstages:- package- build- test- deploybefore_script:- echo: "project ci/cd task start"- mkdir -p ${MAVEN_REPOSITORY_DIR}job1-package:stage: packageimage: docker:latesttags:- runner-01only:- masterscript:- mvn clean package -Dmaven.test.skip=true- mkdir -p ${PROJECT_JAR_DIR}- cp target/app.jar ${PROJECT_JAR_DIR}/app.jarjob2-build:stage: buildimage: docker:latesttags:- runner-01before_script:- mkdir -p ${CI_IMAGE_DIR}script:- echo '打包任务开始---->清理之前的jar包,打包,将包复制到容器中'- ls -l ${PROJECT_JAR_DIR}- docker build -t ${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG} .- docker push ${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG}- docker images | ${PROJECT_IMAGE_NAME}- docker -t  ${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG} ${IMAGE_HARBOR_REPOSITORY}/${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG}- docker push ${IMAGE_HARBOR_REPOSITORY}/${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG}- rm -rf ${PROJECT_JAR_DIR}/app.jar- docker rmi -f ${IMAGE_HARBOR_REPOSITORY}/${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG}- docker rmi -f ${CI_IMAGE_DIR}:${PROJECT_IMAGE_TAG}job4-deploy:stage: deployimage: ${IMAGE_HARBOR_REPOSITORY}/${PROJECT_IMAGE_NAME}:${PROJECT_IMAGE_TAG}tags:- runner-01only:- masterscript:- echo '项目部署--->开始部署,缓存部署,pod部署,服务部署'- kubectl apply -f /sb-p/sb-test/sb-pvc.yaml- kubectl apply -f /sb-p/sb-test/sb-dplm.yaml- kubectl apply -f /sb-p/sb-test/sb-svc.yaml

感谢阅读,祝君暴富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/680173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何控制系统安全 或 控制流氓软件

电脑 出入数据的地方是安全保障的最后一关 比如 网络 , usb 等等 控制联网流氓软件 1 在虚拟机里测试软件是否有恶意行为 恶意行为非常容易发现 比如 破坏文件 修改文件 系统不正常 像蓝屏 等等 2 网络防火墙 这是系统最关键的部分之一 像 windows 一定使用他…

「Linux」用户操作

root用户 su:切换账户 语法:su [–] [用户名] -:可选,表示是否在切换用户后加载环境变量,建议带上用户名:表示要切换的用户,省略时表示切换到root切换用户后,通过exit命令退回上一个…

服务异步通信

服务异步通信 消息队列在使用过程中,面临着很多实际问题需要思考: 1.消息可靠性 消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失…

CTFSHOW web 89-100

这边建议去我的gitbook或者github看观感更好(图片更完整) github:https://github.com/kakaandhanhan/cybersecurity_knowledge_book-gitbook.22kaka.fun gitbook:http://22kaka.fun 🏈 CTFSHOW PHP特性 (1)WEB 89 ①代码解释 <?php/* # -*- coding: utf-8 -*- # @…

使用Nacos实现服务发现

启动Nacos cd nacos cd bin ./startup.sh -m standalone浏览器访问http://localhost:8848 账号密码都是nacos 修改配置文件 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifact…

第二篇【传奇开心果微博系列】Python微项目技术点案例示例:成语接龙游戏

传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录一、微项目目标二、雏形示例代码三、扩展整体思路四、玩家输入示例代码五、成语判断示例代码六、回答判断示例代码七、电脑判断示例代码八、游戏结束示例代码九、界面优化示例代码十、扩展成语库示例代…

面试经典150题——长度最小的子数组

​"In the midst of winter, I found there was, within me, an invincible summer." - Albert Camus 1. 题目描述 2. 题目分析与解析 首先理解题意&#xff0c;题目要求我们找到一个长度最小的 连续子数组 满足他们的和大于target&#xff0c;需要返回的是子数组的…

架构篇34:深入理解微服务架构 - 银弹 or 焦油坑?

文章目录 微服务与 SOA 的关系微服务的陷阱小结 微服务是近几年非常火热的架构设计理念&#xff0c;大部分人认为是 Martin Fowler 提出了微服务概念&#xff0c;但事实上微服务概念的历史要早得多&#xff0c;也不是 Martin Fowler 创造出来的&#xff0c;Martin 只是将微服务…

传统架构向微服务架构迁移思路

改造的第一步不是改 梳理业务、重新认知系统、重新建模微服务拆分的规划 先解决主要矛盾不做过长远的规划(初期不要拆得太细) 基础设施(监控、自动化运维等)可以带着弄起来了 论改造的复杂 改造需要过程 好的架构师演进出来的,不是设计出来的 从哪里开始改造? 架构改造的几个…

论文介绍 One-step Diffusion 只需单步扩散生成!

论文介绍 One-step Diffusion with Distribution Matching Distillation 关注微信公众号: DeepGo 源码地址&#xff1a; https://tianweiy.github.io/dmd/ 论文地址&#xff1a; https://arxiv.org/abs/2311.18828 这篇论文介绍了一种新的图像生成方法&#xff0c;名为分布匹配…

一、Docker/安装包部署ClickHouse

Docker/安装包部署ClickHouse 一、docker部署1.安装Docker2.拉取ClickHouse镜像2.1 选择拉取版本2.2 拉取镜像 3.启动ClickHouse3.1 确定好挂载目录3.2 测试环境3.3 生产环境3.1.1 获取配置文件3.1.2 配置文件中添加用户3.1.3 启动容器 4.使用DBeaver连接 二、安装包安装1.准备…

【JavaScript】事件处理(添加事件监听器、事件对象)

文章目录 1. 添加事件监听器通过 HTML 属性通过 JavaScript 2. 事件对象事件处理函数参数阻止默认行为停止事件传播 3. 总结 在前端开发中&#xff0c;事件处理是 实现交互和响应用户行为的重要环节。JavaScript 提供了丰富的事件处理机制&#xff0c;本篇博客将介绍如何通过 …

springboot/ssm在线作业管理系统Java大学生作业提交成绩管理系统

springboot/ssm在线作业管理系统Java大学生作业提交成绩管理系统 开发语言&#xff1a;Java 框架&#xff1a;springboot&#xff08;可改ssm&#xff09; vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql …

Seurat - 聚类教程 (1)

设置 Seurat 对象 在本教程[1]中&#xff0c;我们将分析 10X Genomics 免费提供的外周血单核细胞 (PBMC) 数据集。在 Illumina NextSeq 500 上对 2,700 个单细胞进行了测序。可以在此处[2]找到原始数据。 我们首先读取数据。 Read10X() 函数从 10X 读取 cellranger 管道的输出&…

Java实现陕西非物质文化遗产网站 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 设计目标2.2 研究内容2.3 研究方法与过程2.3.1 系统设计2.3.2 查阅文献2.3.3 网站分析2.3.4 网站设计2.3.5 网站实现2.3.6 系统测试与效果分析 三、系统展示四、核心代码4.1 查询民间文学4.2 查询传统音乐4.3 增改传统舞…

宿舍报修|宿舍报修小程序|基于微信小程序的宿舍报修系统的设计与实现(源码+数据库+文档)

宿舍报修小程序目录 目录 基于微信小程序的宿舍报修系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户小程序功能模块 2、学生信息管理 3、维修人员管理 4、故障上报管理 5、论坛信息管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&…

C++STL速查手册

本文参考cppreference&#xff0c;整理了一些常用的STL容器及其内置函数与算法&#xff0c;方便查用。 CSTL速查手册 什么是STL&#xff1f;STL模板 什么是STL&#xff1f; 在C中&#xff0c;STL 是指标准模板库&#xff08;Standard Template Library&#xff09;。STL 是 C 标…

登录报下面错误The remembered identity will be forgotten and not used for this request

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/n…

【51单片机】LED点阵屏(江科大)

9.1LED点阵屏 1.LED点阵屏介绍 LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。 2.LED点阵屏工作原理 LED点阵屏的结构类似于数码管,只不过是数码管把每一列的像素以“8”字型排列而已。原理图如下 每一行的阳极连在一起,每一列…

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…