jenkins实战二之快速入门

一、修改自动化工程的pom.xml文件

如下:

这里的plugin插件:docker-maven-plugin是一个maven打包镜像的插件,可以实现自动化的编译项目、打包项目、构建镜像、上传到docker镜像私服(这里我们用的是aliyun)

<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima.sh</groupId>
    <artifactId>docker_demo</artifactId>
    <version>1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
    </parent>


    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>


    </dependencies>

    <build>
        <finalName>app</finalName>
        <plugins>
            <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- 插件网址:https://github.com/spotify/docker-maven-plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.0</version>
                <configuration>
                    <!--这里registry.cn-hangzhou.aliyuncs.com/hmcxy/是自己的阿里云仓库地址-->
                    <imageName>registry.cn-hangzhou.aliyuncs.com/hmcxy/${project.artifactId}:${project.version}</imageName>
                    <baseImage>java:8-alpine </baseImage>
                    <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <serverId>ali-docker</serverId>
                    <registryUrl>registry.cn-hangzhou.aliyuncs.com</registryUrl>
                    <!--这里192.168.150.105是自己的虚拟机地址-->
                    <dockerHost>http://192.168.150.105:2375</dockerHost>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

docker-maven-plugin插件的configuration标签中需要修改的地方有两处:
a:是自己阿里云私服仓库地址,参考:阿里云私服仓库
在这里插入图片描述

b:<dockerHost>中的ip地址为自己的虚拟机地址(自动化运行的服务器ip)

然后,将项目上传到码云(gitee.com)中,地址:https://gitee.com/luuulian/docker_demo.git,并获取到地址

二、创建jenkins任务

1.新建任务–》定义任务名名称–》勾选构建模板 保存任务
在这里插入图片描述

2.配置构建信息

在弹出的构建页面中,包含9项需要填写的构建内容:

分别是:

  • general:项目描述信息✔
  • 源码管理:项目关联的Git地址,将来回到指定的Git地址拉取代码✔
  • 构建触发器:触发项目构建的事件配置,这里无需配置✘
  • 构建环境:构建时的环境设置,这里无需配置✘
  • Pre Steps:构建前可以执行的任务,暂时无需配置✘
  • Build:maven构建的pom文件、构建命令✔
  • Post Steps:构建后可以执行的任务,一般是shell命令,暂时无需配置 ✘
  • 构建设置:构建后是否发送邮件?暂时无需配置✘
  • 构建后操作:构建后的镜像做归档存储,暂时无需配置✘

1)General基本信息
添加描述。

2)源码设置
在这里插入图片描述

3)Build(构建任务)

  • Root POM: 本次构建要使用的git仓库中的pom文件
  • Goals and options: 要执行的mvn命令 不用写前面的mvn

在这里插入图片描述

# maven命令 
clean package -DskipTests docker:build -DpushImage

# 依次:
# 清除 打包 跳过单元测试 远程构建镜像  上传镜像到注册中心

简单配置后直接保存,后续的其他配置可自己再按需求进行配置

  1. 执行maven构建任务

1)执行构建任务

当我们保存完毕任务之后,会进入到任务的详情页面, 点击立即构建即可执行该构建任务
在这里插入图片描述
2)进入任务中的控制台可查看构建详情,构建成功
在这里插入图片描述

还可去阿里云私服查看镜像,已经上传代表成功

4.常见错误
在这里插入图片描述
这是因为忘了开启docker的远程控制功能。

解决:
修改虚拟机中的docker配置,让其可以远程访问

vi /lib/systemd/system/docker.service

其中ExecStart=后添加配置:

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

结果如下:
在这里插入图片描述
刷新配置,重启服务:

# 刷新配置
systemctl daemon-reload
# 重启docker
systemctl restart docker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值