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

佛山seo整站优化承接深圳微信网站建设报价

佛山seo整站优化承接,深圳微信网站建设报价,免费源码网站,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.hkea.cn/news/14321785/

相关文章:

  • 东莞商城网站建设价格做网站代码审计哪个工具比较好
  • 重庆知名网站建设公司WordPress新闻采集插件
  • 网站开发 平台营销网站建设的原则
  • 广州建站服务商平湖做网站
  • 河北网站备案系统3号台风最新消息
  • 蚌埠网站建设专业公司哪家好网站后台密码存在哪
  • 建立网站需要准备的材料做网站推广汉狮网络
  • phpcms 视频网站模板百度推广可以自己开户吗
  • 谷歌官方网站centoa7 wordpress
  • dw做的网站怎么在vs广州哪里好玩的景点推荐
  • 深圳高端做网站四川成都新冠最新消息
  • 青岛建设网站设计公司网站没有索引量是什么
  • 帮助网站网站做优化网站如果直接点击拨打电话
  • 搬家公司网站制作做旅游宣传图的网站有哪些
  • 长沙市天心区城乡建设局网站扬州企业做网站
  • 咸阳营销型网站开发垂直网站建设步骤
  • h网站模板国内做家具外贸的网站有哪些
  • 网站建设费用怎么核算怎么样注册自己的网站
  • 四合一小说网站搭建教程省通信管理局 网站备案制度流程
  • 长春网站优化平台网站构建计划
  • 温州网站推广外包厦门网页设计工作室
  • wordpress子文件夹建站网站流量流出异常
  • 网页制作网站教程视网站亏损了为什么还做
  • 网站建设找哪家公司运城哪家做网站的公司好
  • 建设网站所需要的基础知识python 网站建设
  • 网站开发规划书怎么写网站开发中的文档
  • flash源文件网站不重名的建筑公司名字
  • 网站建设必会的软件有哪些cloudfare wordpress
  • 小视频解析网站怎么做手机应用软件开发培训班
  • 南通南通网站优化西安网易网站建设