Docker+jenkins+gitee+springboot实现自动化部署流程(详细教程)(附下载工具地址)(2)

 上一篇:Docker+jenkins+gitee+springboot实现自动化部署流程(详细教程)(附下载工具地址)(1)

2、代码准备+gitee准备

2-1 idea创建简单的springboot项目

2-2 构建build+Dockerfile 

2-3 gitee相关(本机需自行下载git)

3、jenkins配置

3-1 用户管理,以防忘记账号密码

3-2 插件管理,下载gitee插件

3-3 配置jdk+maven的地址

3-4 开始发布自动化项目操作

3-5 测试,修改内容推送至gitee,完成自动构建


2、代码准备+gitee准备

2-1 idea创建简单的springboot项目

① idea--File--New--Project,项目命名为apple

② pom加上依赖

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

 ③ application.yml

server:
  port: 8306

④ Democontroller.class

@RestController
@RequestMapping("/apple")
public class DemoController {
    @RequestMapping("/queryById")
    public String queryById(@RequestParam(name = "id", required = true) String id) {
        if("1".equals(id)){
            return "暗示健康大精神可点击啊-------1-";
        }
        return "没有数据";
    }
}

⑤启动访问,http://127.0.0.1:8306/apple/queryById?id=1

2-2 构建build+Dockerfile 

① 在pom加上build内容(注:有两处ip是写你服务器公网ip)

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <!-- 打包跳过测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <!--docker镜像相关配置-->
                <configuration>

                    <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory> <!-- 指定 Dockerfile 路径-->
                    <imageTags>
                        <imageTag>${project.version}</imageTag>
                    </imageTags>

                    <!--推送仓库 -->
                    <registryUrl>ip:5000</registryUrl>
                    <pushImage>true</pushImage>
                    <!--镜像名,这里用工程名-->
                    <imageName>ip:5000/${project.artifactId}</imageName>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置,也可以写到 Docokerfile 中 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.artifactId}-${project.version}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
</build>

② 创建Docekerfile文件,并写入相关内容

FROM java:8
VOLUME /tmp
ADD apple-0.0.1-SNAPSHOT.jar  app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

2-3 gitee相关(本机需自行下载git)

① gitee创建apple仓库

② git相关命令

git初始化

git init

加入暂存区 

git add . 

提交代码

git commit -m 'first commit'

 推送

git push https://gitee.com/apple.git master

③ gitee开启交互通讯webhooks

进入对应的仓库点管理

 添加webhooks管理

3、jenkins配置

3-1 用户管理,以防忘记账号密码

① 进入

 ② 配置允许用户注册

3-2 插件管理,下载gitee插件

① 进入

② 搜索下载

3-3 配置jdk+maven的地址

① 进入

② 选择你的maven-setting文件

③ 配置jdk+maven 保存

3-4 开始发布自动化项目操作

① 进入,并输入构建的项目名称,我的已存在所以提示红色字存在

② 选择你gitee的项目仓库

需要配置你gitee的账号密码 

 

③ 构建触发器,对应上gitee项目相关的webhooks

④ 构建--执行shell(ip换成你服务器公网ip)

#!/bin/bash
result=$(docker ps | grep "apple")
if [[ "$result" != "" ]]
then
echo "stop apple"
docker stop apple
fi
result=$(docker ps -a | grep "apple")
if [[ "$result" != "" ]]
then
echo "rm apple"
docker rm apple
fi
result2=$(docker images | grep "ip:5000/apple:0.0.1-SNAPSHOT")
if [[ "$result2" != "" ]]
then
echo "ip:5000/apple:0.0.1-SNAPSHOT"
docker rmi $(docker images | grep "ip:5000/apple:0.0.1-SNAPSHOT" | awk '{print $3}')
fi

⑤ 构建--调用顶层Maven目标(ip换成你服务器公网ip)

选择你先前设置maven

clean package -f pom.xml  -DskipTests docker:build
docker run --name apple -p 8306:8306 -idt  ip:5000/apple:0.0.1-SNAPSHOT

⑥ 完成

3-5 测试,修改内容推送至gitee,完成自动构建

 提交

 

打开jenkins-apple项目首页就能看到自动构建了

查看控制台,自动下载-打包-删除旧包-启动新包

 访问项目

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值