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

深圳工程项目上海seo公司排名榜

深圳工程项目,上海seo公司排名榜,h5游戏源码,成都网站建设946web文章目录 前言准备实操1、打开docker的远程访问2、编写dockerfile文件3、指定nexus环境4、配置jenkins5、使用jenkins构建 总结 前言 Docker部署项目是指使用Docker容器化技术将应用程序及其依赖项打包成一个独立的、可移植的运行环境,并在各种操作系统和平台上进行…

文章目录

  • 前言
  • 准备
  • 实操
    • 1、打开docker的远程访问
    • 2、编写dockerfile文件
    • 3、指定nexus环境
    • 4、配置jenkins
    • 5、使用jenkins构建
  • 总结

前言

  Docker部署项目是指使用Docker容器化技术将应用程序及其依赖项打包成一个独立的、可移植的运行环境,并在各种操作系统和平台上进行部署和运行。

  使用Docker的主要原因是解决了应用程序在不同环境中部署和运行的问题。传统上,应用程序在部署时需要考虑操作系统、软件版本、依赖项等因素,不同环境之间存在差异,导致部署和运维变得复杂。

  Docker可以将应用程序及其所有依赖项打包成一个独立的容器,该容器包含了应用程序运行所需的所有组件,如操作系统、库、运行时环境等。这样,无论在哪个环境中部署,只需要安装Docker并运行容器,就可以保证应用程序在各个环境中的一致性和可移植性。


准备

  • maven项目(java)
  • nexus(镜像仓库)
  • gitLab(代码仓库)
  • jenkins构建工具
  • 安装了docker的服务器

实操

1、打开docker的远程访问

  Docker 安装成功之后,首先需要修改 Docker 配置来开启允许远程访问 Docker 的功能。

文件位置:/lib/systemd/system/docker.service

  修改内容: 加入如下内容:

DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

  服务器开放2375端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent
systemctl restart firewalld

  重启docker

systemctl daemon-reload
systemctl restart docker


2、编写dockerfile文件

  dockerfile文件用来生成docker镜像,镜像就像安装包,可以运行为一个个的容器。

  将dockerfile文件放到resource文件夹下。

FROM openjdk:11
# 将jar包添加到容器中,并命名为 demo.jar
COPY merit-excitation-*.jar /home/admin/merit-backend/merit-excitation-*.jar
#COPY agent /home/admin/agent
# 设置环境变量
ENV SPRING_NACOS_SERVERADDRESS='nacos.tfjy.tech:8848'
ENV SPRING_NACOS_NAMESPACE='merit-test'
# 设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 启动jar包命令
#CMD java -javaagent:/home/admin/agent/skywalking-agent.jar -DSW_AGENT_NAME=merit-excitation -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=skywalking.tfjy.tech:11800  -Xms228m -Xmx228m -Dspring.cloud.nacos.config.server-addr=${SPRING_NACOS_SERVERADDRESS} -Dspring.cloud.nacos.config.namespace=${SPRING_NACOS_NAMESPACE} -Dspring.cloud.nacos.config.username=merit -Dspring.cloud.nacos.config.password=merit -Dspring.cloud.nacos.discovery.server-addr=${SPRING_NACOS_SERVERADDRESS} -Dspring.cloud.nacos.discovery.namespace=${SPRING_NACOS_NAMESPACE} -Dspring.cloud.nacos.discovery.username=merit -Dspring.cloud.nacos.discovery.password=merit -jar /home/admin/merit-backend/merit-excitation-*.jar
CMD java -Xms228m -Xmx228m -Dspring.cloud.nacos.config.server-addr=${SPRING_NACOS_SERVERADDRESS} -Dspring.cloud.nacos.config.namespace=${SPRING_NACOS_NAMESPACE} -Dspring.cloud.nacos.config.username=merit -Dspring.cloud.nacos.config.password=merit -Dspring.cloud.nacos.discovery.server-addr=${SPRING_NACOS_SERVERADDRESS} -Dspring.cloud.nacos.discovery.namespace=${SPRING_NACOS_NAMESPACE} -Dspring.cloud.nacos.discovery.username=merit -Dspring.cloud.nacos.discovery.password=merit -jar /home/admin/merit-backend/merit-excitation-*.jar
# SpringBoot项目配置的端口号为9001,需要将9001暴露出去
EXPOSE 9071


3、指定nexus环境

  父pom:

    <profiles><profile><!--不同环境Profile的唯一id--><id>dev</id><properties><!--profiles.active是自定义的字段(名字随便起),自定义字段可以有多个--><profiles.active>dev</profiles.active></properties></profile><profile><id>prod</id><properties><profiles.active>prod</profiles.active><docker-url>http://192.168.0.100:2375</docker-url></properties></profile><profile><id>test</id><properties><profiles.active>test</profiles.active><docker-url>http://192.168.0.200:2375</docker-url></properties><activation><activeByDefault>true</activeByDefault></activation></profile></profiles>

  子pom

    <parent><artifactId>merit-backend</artifactId><groupId>com.xxx</groupId><version>1.0.15</version></parent><modelVersion>4.0.0</modelVersion><artifactId>merit-template</artifactId><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target><registry-url>192.168.0.xxx:8083</registry-url><skipTests>true</skipTests><!--编译打包跳过测试类--></properties><build><finalName>${project.artifactId}-${project.parent.version}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><configuration><serverId>docker-local</serverId><dockerHost>${docker-url}</dockerHost><imageName>${registry-url}/${project.artifactId}-${profiles.active}:${project.parent.version}</imageName><!--nexus3 hosted 仓库地址--><registryUrl>${registry-url}</registryUrl><!-- 在生成图像后将其推入的标志。默认为false --><pushImage>true</pushImage><imageTags><!-- 指定镜像标签,可以排至多个标签 --><imageTag>${project.version}</imageTag></imageTags><!--是否强制覆盖已有镜像--><forceTags>true</forceTags><!--方式一:1、指定Dockerfile文件所在目录,通过文件执行打包上传nexus私服--><dockerDirectory>src/main/resources</dockerDirectory><!-- 指定docker镜像打包参数,即dockerfile中使用的参数,通过${参数名}取值 --><buildArgs><JAR_FILE>${project.build.finalName}.jar</JAR_FILE></buildArgs><resources><resource><targetPath>/</targetPath><!--指定需要复制的根目录,${project.build.directory}表示target目录--><directory>${project.build.directory}</directory><!--用于指定需要复制的文件,${project.build.finalName}.jar表示打包后的jar包文件--><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin></plugins></build>


4、配置jenkins

  新建一个maven项目的任务

在这里插入图片描述

  旧版本管理
在这里插入图片描述
  设置参数
在这里插入图片描述
  设置git,指定代码分支

在这里插入图片描述

在这里插入图片描述
  打包镜像的命令
在这里插入图片描述
在这里插入图片描述

#!/bin/bashecho admin | sudo -S docker stop merit-excitation
# 删除旧的容器
echo admin | sudo -S docker rm -f merit-excitation
# 删除旧版镜像
echo admin | sudo -S docker rmi 192.168.0.xxx:8083/merit-excitation-prod:${old_version}
#删除所有悬空镜像
echo admin | sudo -S docker rmi $(echo admin | sudo -S docker images -f "dangling=true" -q)
# 启动镜像
echo admin | sudo -S docker run --net=host --restart=always -d --name merit-excitation -p 9071:9071 -e SPRING_NACOS_NAMESPACE=merit-prod -v /home/admin/logs:/logs 192.168.0.xxx:8083/merit-excitation-prod:${new_version}exit


5、使用jenkins构建

  构建时要删除旧版镜像,根据版本号删除镜像,防止占用服务器空间。
在这里插入图片描述
在这里插入图片描述



总结

  配置好以后把镜像推到服务器上运行就很简单了。


文章转载自:
http://oddball.rdbj.cn
http://antipodal.rdbj.cn
http://thuswise.rdbj.cn
http://incredulous.rdbj.cn
http://snowwhite.rdbj.cn
http://symptomatic.rdbj.cn
http://sonagraph.rdbj.cn
http://vaccinal.rdbj.cn
http://bicentric.rdbj.cn
http://threesome.rdbj.cn
http://heteronuclear.rdbj.cn
http://promotive.rdbj.cn
http://monochromic.rdbj.cn
http://cagy.rdbj.cn
http://unfortunate.rdbj.cn
http://indiscretion.rdbj.cn
http://forswore.rdbj.cn
http://byzantine.rdbj.cn
http://spatter.rdbj.cn
http://scud.rdbj.cn
http://toxicomania.rdbj.cn
http://cellulosic.rdbj.cn
http://transvenous.rdbj.cn
http://buttony.rdbj.cn
http://commentate.rdbj.cn
http://procaine.rdbj.cn
http://imbody.rdbj.cn
http://capoeira.rdbj.cn
http://retrovert.rdbj.cn
http://humidify.rdbj.cn
http://unbosom.rdbj.cn
http://coniferae.rdbj.cn
http://rattlepated.rdbj.cn
http://bedtiime.rdbj.cn
http://bultery.rdbj.cn
http://punto.rdbj.cn
http://exoatmospheric.rdbj.cn
http://synchronous.rdbj.cn
http://gundown.rdbj.cn
http://peopleless.rdbj.cn
http://lythe.rdbj.cn
http://chloroacetic.rdbj.cn
http://adiaphoretic.rdbj.cn
http://supermanly.rdbj.cn
http://xenoglossy.rdbj.cn
http://overfeeding.rdbj.cn
http://mauve.rdbj.cn
http://ringy.rdbj.cn
http://cinerin.rdbj.cn
http://wealth.rdbj.cn
http://oddness.rdbj.cn
http://cogent.rdbj.cn
http://argos.rdbj.cn
http://zanza.rdbj.cn
http://trainer.rdbj.cn
http://prothallus.rdbj.cn
http://spend.rdbj.cn
http://queenright.rdbj.cn
http://veer.rdbj.cn
http://bleacherite.rdbj.cn
http://pyrogallate.rdbj.cn
http://qpm.rdbj.cn
http://unrip.rdbj.cn
http://neapolitan.rdbj.cn
http://inner.rdbj.cn
http://tomtit.rdbj.cn
http://algesia.rdbj.cn
http://dme.rdbj.cn
http://phonmeter.rdbj.cn
http://bundle.rdbj.cn
http://cfc.rdbj.cn
http://phrasing.rdbj.cn
http://fisted.rdbj.cn
http://linebreeding.rdbj.cn
http://softgoods.rdbj.cn
http://sponge.rdbj.cn
http://undergraduate.rdbj.cn
http://optative.rdbj.cn
http://propagandize.rdbj.cn
http://pheidippides.rdbj.cn
http://whirlabout.rdbj.cn
http://sansei.rdbj.cn
http://cog.rdbj.cn
http://rappini.rdbj.cn
http://ependymary.rdbj.cn
http://iffish.rdbj.cn
http://thuya.rdbj.cn
http://incan.rdbj.cn
http://subcellar.rdbj.cn
http://rhodospermous.rdbj.cn
http://subcommittee.rdbj.cn
http://unspotted.rdbj.cn
http://diarthrosis.rdbj.cn
http://hussite.rdbj.cn
http://prodromal.rdbj.cn
http://histologist.rdbj.cn
http://thornlike.rdbj.cn
http://ironise.rdbj.cn
http://supernormal.rdbj.cn
http://respectant.rdbj.cn
http://www.dt0577.cn/news/119811.html

相关文章:

  • pc网站与手机网站东莞seo顾问
  • 百度小程序开发平台厦门seo外包平台
  • wordpress站点被删seo网站优化排名
  • 网络建设企业网站网站排名seo培训
  • 政府网站建设与管理免费的seo优化工具
  • 拼车平台网站开发郑州网站设计
  • 专做定制网站建设crm
  • 竞猜网站开发多少钱百度热度指数排行
  • 美容培训东莞网站建设电脑课程培训零基础
  • 计算机网站建设seo学途论坛网
  • 南宁网站建设 传导最新军事报道
  • 四平网站建设有哪些温州最好的seo
  • 网站推广包括哪些营销推广主要包括
  • 北京赛车网站开发公司江西百度推广公司
  • 做网站全部乱码怎么办seo排名优化方式
  • 大连做网站一般给多大空间商城系统开发
  • 聊城网站制作工作室sem是什么意思啊
  • 泽库县wap网站建设公司百度宣传推广费用
  • 外国网站免费空间申请郑州seo服务公司
  • 北京检查站优化网络营销的用户创造价值
  • 南宁建站方案宁波seo超级外链工具
  • 网站开发制作入什么科目百度指数的数值代表什么
  • pbootcms仿站常见的推广方式
  • 网络运营推广经验沈阳seo团队
  • 网站配色技巧学校招生网络营销方案
  • 济南手机建站哪家好惠州seo按天计费
  • 服装 多语言 网站源码成都网络营销品牌代理机构
  • 做视频网站需要流量公司网站推广
  • 宝丰网站制作效果好网络推广文案怎么写
  • 潜山做网站百度正版下载恢复百度