JavaWeb_LeadNews_Day12-jenkins

这篇具有很好参考价值的文章主要介绍了JavaWeb_LeadNews_Day12-jenkins。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

后端项目部署

多环境配置切换

  1. 在微服务中的bootstrap.yml中新增配置
    spring:
      ...
      pofiles:
        active: dev
    
  2. 在nacos的配置中心中新增各个环境的配置文件, 例如user微服务中新增
    • leadnews-user-dev.yml
    • leadnews-user-prod.yml

服务集成docker配置

  1. 服务集成docker配置, 引入依赖
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>heima-leadnews-service</artifactId>
            <groupId>com.heima</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>heima-leadnews-user</artifactId>
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
            <docker.image>docker_storage</docker.image>
        </properties>
    
        <build>
            <finalName>heima-leadnews-user</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.3.6</version>
                    <configuration>
                        <repository>${docker.image}/${project.artifactId}</repository>
                        <buildArgs>
                            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                        </buildArgs>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
  2. 服务集成dockerfile文件
    # 设置JAVA版本
    FROM java:8
    # 指定存储卷, 任何向/tmp写入的信息都不会记录到容器存储层
    VOLUME /tmp
    # 拷贝运行JAR包
    ARG JAR_FILE
    COPY ${JAR_FILE} app.jar
    # 设置JVM运行参数, 这里限定下内存大小,减少开销
    ENV JAVA_OPTS="\
    -server \
    -Xms256m \
    -Xmx512m \
    -XX:MetaspaceSize=256m \
    -XX:MaxMetaspaceSize=512m"
    #空参数,方便创建容器时传参
    ENV PARAMS=""
    # 入口点, 执行JAVA运行命令
    ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /app.jar $PARAMS"]
    

父工程项目构建

  1. 新建项目
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  2. 项目名称, 选择自由项目
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  3. 项目描述
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  4. git地址, 选择凭证
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  5. 创建凭证(不对, 要用码云的账号密码, 但是好像没什么关系, 所以懒得改了, o.O)
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  6. maven构建
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  7. 构建项目
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维

构建微服务

  1. 新建项目
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  2. git地址, 凭证
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  3. maven命令
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
    clean install -Dmaven.test.skip=true  dockerfile:build -f heima-leadnews-service/heima-leadnews-user/pom.xml
    
  4. shell脚本
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
    if [ -n  "$(docker ps -a -f  name=$JOB_NAME  --format '{{.ID}}' )" ]
    then
    #删除之前的容器
    docker rm -f $(docker ps -a -f  name=$JOB_NAME  --format '{{.ID}}' )
    fi
    # 清理镜像
    docker image prune -f 
    # 启动docker服务
    docker run -d --net=host -e PARAMS="--spring.profiles.active=prod"  --name $JOB_NAME docker_storage/$JOB_NAME
    
  5. 总结
    • ACCESS DENIED FOR USER 'ROOT'@'IP地址'错误可能是数据库密码没有正确输入

部署服务到远程服务器

整体思路

JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维

安装私有仓库

  1. 拉取Registry镜像
    docker pull registry:latest
    
  2. 创建Registry容器
    docker run -d -p 5000:5000 --name registry -v /usr/local/docker/registry:/var/lib/registry registry:latest
    
  3. 访问测试
    http://192.168.174.135:5000/v2/_catalog
    
  4. 配置Docker客户端
    正常生产环境中使用, 要配置HTTPS服务, 确保安全,内部开发或测试集成的局域网环境,可以采用简便的方式, 不做安全控制。
    vi /lib/systemd/system/docker.service
    
    # 修改内容
    ExecStart=/usr/bin/dockerd --insecure-registry 192.168.174.135:5000
    
    # 重启生效
    systemctl daemon-reolad
    systemctl restart docker.service
    

jenkins插件

  1. 安装插件
    • Publish Over SSH
    • SSH plugin
  2. 配置远程服务器连接
    位置:
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
    添加凭据:
    1.
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
    2.
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
    3.
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
    配置ssh连接:
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维

部署服务

准备工作
  1. 在article微服务中集成docker配置(如上服务集成docker配置)
  2. bootstrap.yml
    spring:
      profiles:
        active: prod
    
  3. nacos添加-prod配置文件, 修改数据库地址和密码
部署服务
  1. 新建项目
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  2. 设置参数
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  3. git地址
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  4. maven构建命令
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  5. shell构建命令
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  6. 远程服务器命令
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维

jenkins触发器

  1. 远程触发
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  2. 其他项目构建后触发
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  3. 定时触发
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维
  4. 轮询触发
    JavaWeb_LeadNews_Day12-jenkins,JavaWeb开发,# JavaWeb开发-LeadNews,jenkins,java,spring cloud,spring boot,docker,后端,运维

来源

黑马程序员. 黑马头条

Gitee

https://gitee.com/yu-ba-ba-ba/leadnews文章来源地址https://www.toymoban.com/news/detail-709558.html

到了这里,关于JavaWeb_LeadNews_Day12-jenkins的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaWeb_LeadNews_Day4-阿里云内容安全, 雪花算法, app文章保存, 自媒体文章审核

    依赖 实现 总结 工具类太复杂, 云盾内容安全也没开通(要企业认证), 看看测试好了 测试图片审核会报错, 可能是没开通 背景 技术选型 方案 优势 劣势 redis (INCR)生成一个全局连续递增的数字类型主键 增加了一个外部组件的依赖, Redis不可以, 则整个数据库将无法再插入 UUID 全局

    2024年02月15日
    浏览(38)
  • 12.Eclipse导入Javaweb项目

    同事复制一份他的项目给我ekp.rar (懒得从SVN上拉取代码了)放在 workspace1目录下  新建一个文件夹  workspace2,Eclipse切换到workspace2工作空间 选择Import导入 选择导入的项目(这里是放到 workspace1里面 ) 拷贝一份到 workspace2里面 例子  所有不是在自己电脑上开发的web项目,都需要重

    2024年02月13日
    浏览(47)
  • JavaWeb学习-Day10

    准备工作    开发流程:  开发接口步骤:  删除部门:  新增部门:    简化代码: limit:分页展示,公式:(页数-1)*页面总数,页面总数   目前出现的问题: 1.网页没有图形化界面,只有从数据库读取的信息,postman可以 正常运行,初步怀疑是前端和后端Java代码没有连

    2024年02月11日
    浏览(33)
  • 【JavaWeb】day01-HTML&CSS

    图片标签: img src :指定图像URL(绝对路径/相对路径) width :图像宽度(像素/相对于父元素的百分比) height :图像高度(像素/相对于父元素的百分比) 标题标签: h1 - h6 水平线标签: hr 超链接: a href :指定资源访问的url target :指定在何处打开资源链接 _self :默认值,

    2024年02月04日
    浏览(33)
  • JavaWeb12(实现基础分页&模糊查询的分页)

    目录 一. 效果预览 ​编辑 二. 实现基本分页 2.1 分页sql  --每页3条  取第二页 --由于伪列不能作用与大于符号也不能作用于between....and --因此需要将伪列-----名列  2.2 万能公式  2.3 首页上一页下一页实现 ②前端代码 2.4 末页实现优化 ①底层代码 ②前端优化  三.实现模糊查询

    2024年02月06日
    浏览(46)
  • 12.JavaWeb-Node.js+创建Vue项目

            传统的Web服务器中,每个请求都会创建一个线程,这会导致线程数的增加,从而影响服务器的性能和扩展性,Ryan Dahl借助Chrome的V8引擎提供的能力实现了Node.js——可以在服务端运行的JavaScript(可以把Node.js简单的看成JavaScript写的tomcat)         进一步实现前后端分离

    2024年02月12日
    浏览(73)
  • JavaWeb_瑞吉外卖_项目优化Day10-Spring Cache

    提交步骤: 生成空仓库, 不要加任何文件 右键项目, add整个项目 commit和push, push时添加远程仓库地址 新建分支步骤: 在本地新建一个分支 push 注入redis对象 将验证码保存到redis, 有效期5分钟 获取验证码, 登录成功后删除验证码 获取缓存数据 删除缓存数据 Spring Cache是一个框架,

    2024年02月13日
    浏览(40)
  • 【javaweb】学习日记Day3 - Ajax 前后端分离开发 入门

    目录 一、Ajax 1、简介 2、Axios (没懂 暂留) (1)请求方式别名 (2)发送get请求 (3)发送post请求 (4)案例 二、前端工程化 1、Vue项目-目录结构 2、Vue项目-启动 (1)vscode页面启动 (2)cmd命令框启动 3、配置Vue端口号 4、Vue项目开发流程 三、Vue组件库 - Element  1、快速入门

    2024年02月12日
    浏览(35)
  • 【javaweb】学习日记Day4 - Maven 依赖管理 Web入门

    目录 一、Maven入门 - 管理和构建java项目的工具 1、IDEA如何构建Maven项目 2、Maven 坐标 (1)定义 (2)主要组成 3、IDEA如何导入和删除项目 二、Maven - 依赖管理 1、依赖配置 2、依赖传递 (1)查看依赖  (2)排除依赖 3、依赖范围 三、Web 入门 1、Springboot web入门体验 2、HTTP简述

    2024年02月11日
    浏览(50)
  • Java学习day3——Javaweb登录页面设计(1)(含JSP代码)

    本文主要的内容是完成网页登录页面设计,以及判断用户名密码是否正确,如果正确,进入下一页面,并输出sessionID,若错误,则在登录页面给出用户名或密码错误提示,并在登录页面显示访问次数。 登录页面(userLogin.jsp) 用户名输入框 密码输入框 提交内容到登录处理页面

    2023年04月18日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包