当前位置: 首页 > news >正文

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.lryc.cn/news/298654.html

相关文章:

  • Linux--基础开发工具篇(2)(vim)(配置白名单sudo)
  • Learn LaTeX 017 - LaTex Multicolumn 分栏
  • Android 9.0 禁用adb install 安装app功能
  • 华为第二批难题五:AI技术提升六面体网格生成自动化问题
  • 【FFmpeg】ffplay 命令行参数 ⑤ ( 设置音频滤镜 -af 参数 | 设置统计信息 -stats 参数 | 设置同步时钟类型 -sync 参数 )
  • vscode开发FPGA(0)--windows平台搭建
  • Java String源码剖析+面试题整理
  • 探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战
  • [C/C++] -- CMake使用
  • 笔记本选购配置参数详解
  • 临睡之际的生死思索与生命哲学的启示
  • QT学习(五)C++函数重载
  • 微服务OAuth 2.1扩展额外信息到JWT并解析(Spring Security 6)
  • Python@setter用法介绍
  • 格子表单GRID-FORM | 文档网站搭建(VitePress)与部署(Github Pages)
  • mac无法往硬盘里存东西 Mac硬盘读不出来怎么办 Mac硬盘格式 硬盘检测工具
  • DataX源码分析 reader
  • openssl3.2 - exp - RAND_bytes_ex
  • Oracle中怎么设置时区和系统时间
  • 常见的物联网操作系统介绍
  • 二级C语言笔试10
  • 【WebSocket】微信小程序原生组件使用SocketTask 调用星火认知大模型
  • [1-docker-01]centos环境安装docker
  • 深度学习基础之《深度学习介绍》
  • 4核8g服务器能支持多少人访问?2024新版测评
  • Linux中pipe管道操作
  • 中年中产程序员从西安出发到海南三亚低成本吃喝万里行:西安-南宁-湛江-雷州-徐闻-博鳌-陵水-三亚-重庆-西安(2.游玩过程)
  • day38 面向对象编程、构造函数等(纯概念)
  • nginx用域名http://xx.com/aaa/代理一个网页http://ff.com但是请求资源时发生404
  • NLP_词的向量表示Word2Vec 和 Embedding