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

松阳县建设局网站公示网站如何快速收录

松阳县建设局网站公示,网站如何快速收录,无代码开发原理,为wordpress添加虚拟用户权限Gitlab runner的使用示例#xff08;二#xff09;#xff1a;Maven Docker 自动化构建与部署 在本篇文章中#xff0c;我们将详细解析一个典型的 GitLab CI/CD 配置文件#xff08;gitlab-ci.yml#xff09;#xff0c;该文件主要用于通过 Maven 构建 Java 应用…Gitlab runner的使用示例二Maven Docker 自动化构建与部署 在本篇文章中我们将详细解析一个典型的 GitLab CI/CD 配置文件gitlab-ci.yml该文件主要用于通过 Maven 构建 Java 应用并使用 Docker 容器化部署。 配置文件整体长这样 image: maven:3.8.4-openjdk-17stages:- build- deployvariables:DOCKER_IMAGE: achun-gallery-imageDOCKER_CONTAINER_NAME: achun-gallery-container# 构建阶段Maven 打包 build-job:stage: buildscript:- mvn clean install -DskipTests- cd achun-gallery-app- mvn clean package -DskipTeststags:- m5_serviceonly:- mainartifacts:paths:- achun-gallery-app/target/**# 部署阶段使用 Docker 启动项目 deploy-job:stage: deployscript:- docker stop $DOCKER_CONTAINER_NAME || true- docker rm $DOCKER_CONTAINER_NAME || true- cd achun-gallery-app- docker build -t $DOCKER_IMAGE .- docker run -d -v /data/logs/:/data/logs -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --restart always --name $DOCKER_CONTAINER_NAME -p 9519:9519 $DOCKER_IMAGEtags:- m5_serviceonly:- maindependencies:- build-jobartifacts:paths:- achun-gallery-app/target/**下面会逐步解释各个部分。 1. 基本镜像选择 image: maven:3.8.4-openjdk-17在 GitLab CI/CD 中image 用于指定 CI/CD 流水线运行时使用的基础镜像。这里我们选择的是 maven:3.8.4-openjdk-17这是一个预装了 Maven 3.8.4 和 OpenJDK 17 的官方 Docker 镜像适合构建基于 Java 的 Maven 项目。 解释 Maven负责项目的构建与管理执行 mvn 命令。OpenJDK 17项目使用的 Java 版本确保代码可以在此 JDK 上编译和运行。 2. 定义阶段stages stages:- build- deploy在 GitLab CI/CD 中stages 定义了流水线的阶段。这个配置文件中包含两个阶段 build构建 Java 项目。deploy部署已经构建的项目。 流水线会按顺序依次执行这些阶段。 3. 定义全局变量 variables:DOCKER_IMAGE: achun-gallery-imageDOCKER_CONTAINER_NAME: achun-gallery-containervariables 定义了 CI/CD 流水线中使用的全局变量。在这个配置文件中 DOCKER_IMAGE指定 Docker 镜像的名称为 achun-gallery-image。DOCKER_CONTAINER_NAME指定 Docker 容器的名称为 achun-gallery-container。 这些变量会在后续的 deploy 阶段使用方便代码维护和复用。 4. 构建阶段Maven 打包 build-job:stage: buildscript:- mvn clean install -DskipTests- cd achun-gallery-app- mvn clean package -DskipTeststags:- m5_serviceonly:- mainartifacts:paths:- achun-gallery-app/target/**解释 stage指定该作业属于 build 阶段。script定义构建项目时执行的命令 mvn clean install -DskipTests清理项目、安装依赖并编译项目跳过测试。cd achun-gallery-app进入子目录 achun-gallery-app这是项目的主要代码所在目录。mvn clean package -DskipTests再次清理项目并打包应用程序的可执行文件如 .jar 文件跳过测试。 tags指定该作业运行在哪些 Runner 上此处 m5_service 是 GitLab Runner 的标签表明该作业将被分配到具备此标签的 Runner 上运行。only限制该作业仅在 main 分支上执行。artifacts指定构建产物的路径。在这里它保存了 achun-gallery-app/target/ 目录下的所有文件主要是打包后的 .jar 文件供后续的 deploy 阶段使用。 Maven 命令 mvn clean install会下载依赖项并将应用编译为 .class 文件。mvn package创建最终的可执行 .jar 文件用于部署。 5. 部署阶段使用 Docker 启动项目 deploy-job:stage: deployscript:- docker stop $DOCKER_CONTAINER_NAME || true- docker rm $DOCKER_CONTAINER_NAME || true- cd achun-gallery-app- docker build -t $DOCKER_IMAGE .- docker run -d -v /data/logs/:/data/logs -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --restart always --name $DOCKER_CONTAINER_NAME -p 9519:9519 $DOCKER_IMAGEtags:- m5_serviceonly:- maindependencies:- build-jobartifacts:paths:- achun-gallery-app/target/**解释 stage此作业属于 deploy 阶段。script定义了部署的命令步骤 docker stop $DOCKER_CONTAINER_NAME || true尝试停止正在运行的同名容器。如果容器不存在则忽略错误。docker rm $DOCKER_CONTAINER_NAME || true删除同名容器确保新的容器可以被启动。cd achun-gallery-app进入项目目录。docker build -t $DOCKER_IMAGE .基于当前目录的 Dockerfile 构建一个新的 Docker 镜像名称为 achun-gallery-image。docker run -d -v /data/logs/:/data/logs -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --restart always --name $DOCKER_CONTAINER_NAME -p 9519:9519 $DOCKER_IMAGE运行一个新的 Docker 容器指定容器的日志路径和时间设置并将容器端口 9519 映射到主机的 9519 端口。 详细说明 docker stop/rm先停止并移除同名的现有容器避免名称冲突。 docker build使用当前目录中的 Dockerfile 构建新的 Docker 镜像。 docker run -d后台运行容器。-v挂载日志目录和时间设置确保容器中的日志可以与主机同步并保持主机的时区设置。--restart always保证 Docker 容器异常退出后自动重启。-p 9519:9519将容器的端口映射到主机上允许外部访问应用。 tags同样使用 m5_service 标签来指定 Runner。 only限制部署阶段只在 main 分支上执行确保代码已经被合并到主分支后才会进行生产环境的部署。 dependencies定义作业的依赖关系deploy-job 依赖于 build-job确保部署是在构建成功后进行的。 artifacts再一次定义打包产物的路径以确保 Docker 部署时可以获取到正确的构建文件。 总结 这个 GitLab CI/CD 配置文件为 Java 项目定义了一个自动化的构建和部署流程。通过 Maven 进行代码编译和打包再通过 Docker 容器化应用并在服务器上启动。整个过程包含了项目的编译、打包、镜像构建与容器部署自动化程度高且维护方便。 核心步骤 构建阶段利用 Maven 清理、编译并打包项目。部署阶段使用 Docker 镜像化应用并启动容器映射日志和时间设置确保应用的持久运行。 通过 GitLab CI/CD 自动化管道我们可以确保项目的持续集成与交付CI/CD大大提升开发和运维效率。 参考链接 GitLab CI/CD 官方文档Maven 官方文档Docker 官方文档
http://www.w-s-a.com/news/147755/

相关文章:

  • 网上做效果图网站有哪些软件徐州泉山区建设局网站
  • 凯里网站制作网站篡改搜索引擎js
  • 如何使用凡科建设网站武安城乡建设网站
  • 网站建设网站及上传wordpress火车头发布
  • 有没有做网站的团队电脑版传奇网站
  • 建立企业网站公司医疗创意小产品设计
  • 深圳 做网站 车公庙免费的招标网有哪些
  • 网站在那里备案成都成华区网站建设
  • 做网站选哪家好搜索引擎优化的目标体系包括哪些
  • 做数据可视化的网站ppt2016是制作网页的软件
  • 济宁市建设工程质量监督站网站徐州网站优化推广
  • 北京网站设计多少钱php做商品网站
  • 能打开的网站你了解的彩票网站开发dadi163
  • 手机做网站价格优秀企业网站建设价格
  • 电商网站建设企业做网站的客户多吗
  • 有做思维图的网站吗西安建设市场诚信信息平台网站
  • 网站建设求职具备什么30岁学网站开发
  • 官方网站minecraft北京低价做网站
  • 网站建设报价兴田德润机械加工网络接单
  • 免费的推广网站安卓app制作平台
  • 长春火车站附近美食建设信用卡银行积分兑换商城网站
  • 网站提交网址如何备份wordpress网页
  • 龙腾盛世网站建设医院管理系统
  • 网站切换图片做背景怎么写外贸营销邮件主题一般怎么写
  • 基于html5的网站开发wordpress主题工具
  • php网站开发的成功经历公司网站现状
  • 软件发布网站源码中国企业公示信息网
  • flash 的网站网站型销售怎么做
  • 营销型网站单页网站的域名和密码
  • 建网站保定seo自动发布外链工具