jenkins + docker + maven + git(阿里云code) 部署spring-cloud-eureka

本文介绍如何使用Maven、Docker及Jenkins实现Spring Cloud应用的自动化构建与部署,包括配置Maven构建插件、Docker镜像推送、Jenkins任务设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.maven配置

    <build>
        <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>0.4.13</version>

                <configuration>
                    <dockerHost>${dockerHost}</dockerHost>
                    <serverId>docker-aliyun</serverId>
                    <registryUrl>${docker.repostory}/${docker.registry.name}</registryUrl>
                    <pushImage>true</pushImage>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <imageName>
                        ${docker.repostory}/${docker.registry.name}
                    </imageName>
                    <imageTags>
                        <!--docker的tag为项目版本号、latest-->
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <resources>
                        <rescource><!-- 将打包文件放入dockerDirectory指定的位置 -->
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </rescource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <docker.repostory>registry-vpc.cn-hangzhou.aliyuncs.com/spring-cloud-repertory</docker.repostory>
        <docker.registry.name>spring-cloud-eureka</docker.registry.name>
    </properties>

 

 

配置git仓库 此处以阿里云code为例 进入alicode 选择profile

111107_GqgZ_2990657.png

 

选择sshKeys   点击ADD SSH KEY

111159_onuB_2990657.png

此处需要填写git的公钥

111303_ZFCO_2990657.png

公钥获取方式:

SSH key 可以让你在你的电脑和Code服务器之间建立安全的加密连接。 先执行以下语句来判断是否已经存在本地公钥:

cat ~/.ssh/id_rsa.pub

如果你看到一长串以 ssh-rsa或 ssh-dsa开头的字符串, 你可以跳过 ssh-keygen的步骤。


提示: 最好的情况是一个密码对应一个ssh key,但是那不是必须的。你完全可以跳过创建密码这个步骤。请记住设置的密码并不能被修改或获取。
你可以按如下命令来生成ssh key:

ssh-keygen -t rsa -C ""

这个指令会要求你提供一个位置和文件名去存放键值对和密码,你可以点击Enter键去使用默认值。
用以下命令获取你生成的公钥:

cat ~/.ssh/id_rsa.pub

复制这个公钥放到你的个人设置中的SSH/My SSH Keys下,请完整拷贝从ssh-开始直到你的用户名和主机名为止的内容。
如果打算拷贝你的公钥到你的粘贴板下,请参考你的操作系统使用以下的命令:

Windows:
clip < ~/.ssh/id_rsa.pub


Mac:
pbcopy < ~/.ssh/id_rsa.pub


GNU/Linux (requires xclip):
xclip -sel clip < ~/.ssh/id_rsa.pub

 

将key复制到粘贴板后  粘贴到上一步操作的key中

111802_6kGn_2990657.png

 

获取项目git地址 此处获取的地址稍后会用到

112237_copI_2990657.png

 

3.jenkins配置

新增用户   选择Credentials/System

113411_6qI5_2990657.png

选择Add Credentials

113515_SSw1_2990657.png

1.新增git用户 key为私钥 

105121_hLLn_2990657.png

私钥获取方式:

Windows:
clip < ~/.ssh/id_rsa


Mac:
pbcopy < ~/.ssh/id_rsa


GNU/Linux (requires xclip):
xclip -sel clip < ~/.ssh/id_rsa

 

2.新增远程linux服务器root用户

110714_Diuh_2990657.png

 

进入 系统管理->系统配置

新增远程主机 使用root用户

110524_7xO7_2990657.png

 

新增多台远程主机 方便集群发布

104543_jNrP_2990657.png

 

开始构建 选择自由风格

135210_p02W_2990657.png

 

源码管理选择git  此处配置Repository URL 就是之前获取到的仓库地址 用户选择之前创建的git用户

135308_uzps_2990657.png

 

构建环境选择远程服务器

135727_GZXo_2990657.png

注意:通过远程命令启动docker容器时  若不采用后台启动则会一直阻塞  用setsid后台启动也会有无法启动的问题  

解决办法:


source /etc/profile
setsid docker run -p 1111:1111 registry-vpc.cn-hangzhou.aliyuncs.com/spring-cloud-repertory/spring-cloud-eureka >> out.log 2>&1

 

构建步骤 由于jenkins装在自己的windows系统上  所以构建就跑的dos命令 可根据系统自行调整

135953_Ix78_2990657.png

 

到这里工作就差不多结束啦

点击立即构建 看效果

140431_sUPz_2990657.png

 

140458_JK18_2990657.png

 

140512_m8PY_2990657.png

 

构建完毕 查看容器已经启动

140623_rN1s_2990657.png

查看阿里云镜像仓库 也已上传

140915_usS8_2990657.png

完毕!

 

转载于:https://my.oschina.net/yimingblog/blog/1525416

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值