Jenkins docker 一键发布 (二)

12 篇文章 1 订阅

这一篇讲述,如何上传并启动 docker

 

一,下载 Publish Over SSH 插件

进入 Manager Jenkins -->Manager Plugins 

搜索 publish over ssh 插件

(PS:如果报错,

java.net.SocketTimeoutException: connect timed out

那需要到  jenkins文件夹中,找到  hudson.model.UpdateCenter.xml  文件。

然后修改将  <url>https://updates.jenkins.io/update-center.json</url>  修改为 http

 

二,配置SSH

在配置中,就能找到。

第一部分:

第二部分:

第三部分:

测试通过的话,应该就没问题了。

 

三,构建环境:

我们回到testpublish的配置页面

选中 Send files or execute commands over SSH before the build starts

在Exec command 中,我们停止容器,

并且删除了镜像和容器,然后倒入了父镜像

(由于我的mycentoscn.tar在docker目录下,所以需要cd docker)

代码如下:

docker-compose stop
docker rm -f  $(docker ps -aq)
docker rmi -f  $(docker images -aq)
cd docker
docker load -i mycentoscn.tar

四,构建

我们直接使用docker builder

这主要是一个maven打包和上传的过程。

代码如下:(每个docker:build都是一个微服务)

setlocal
set "deploy_dir=%cd%"
echo "%deploy_dir%"
set "parent_dir=%cd%"
echo "%parent_dir%"
cd %deploy_dir%

echo "maven compile starting"
call mvn  -f %parent_dir% clean install
echo "maven compile completed"

call mvn -f %parent_dir%/springCloud.registry docker:build  
call mvn -f %parent_dir%/springCloud.config docker:build
call mvn -f %parent_dir%/springCloud.zuul docker:build
call mvn -f %parent_dir%/kps.webUI docker:build
call mvn -f %parent_dir%/kps.webAPICommon docker:build
call mvn -f %parent_dir%/kps.webAPIPO docker:build
call mvn -f %parent_dir%/kps.webAPISYS docker:build
call mvn -f %parent_dir%/kps.webAPIWMS docker:build
call mvn -f %parent_dir%/kps.webAPIEQ docker:build
call mvn -f %parent_dir%/kps.appAPIScan docker:build
call mvn -f %parent_dir%/kps.webAPIScreen docker:build
 
echo "All Completed!"

 

五,构建后操作

选中 :Send build artifacts over SSH

上传完后,启动docker

由于启动时,会寻找docker-compose.yml文件,

所以也需要cd docker 目录

代码如下:

 

cd docker
docker-compose up -d
docker-compose ps

 

六,Build Now!

 

查看console

PS:

如果报错;

[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project springCloud.zuul: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]

说明证书没有拷贝到服务器上。

 

 

svn 忽略文件

一些时候,我们希望忽略例如 pom.xml文件

点开  高级,选中 Ignore Property Changes on directories

在Excluded Regions 中,输入/pom.xml

意思是,根据  Repository URL + Excluded Regions 找到匹配的路径

如果还不行,

1 改成pom.xml 把/去掉

2 把jenkins/workspace/....中的pom.xml 设置为 只读!)

回答: Docker一键部署可以按照以下步骤进行操作。首先,安装Docker社区版,可以使用以下命令进行安装:yum install docker-ce docker-ce-cli containerd.io \[1\]。如果系统中已经存在旧版本的Docker,可以先卸载旧版本,使用命令yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \[2\]。然后,安装yum-utils包,使用命令yum install -y yum-utils \[2\]。接下来,设置镜像仓库,使用命令yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \[2\]。最后,安装Docker,使用命令yum install docker \[2\]。完成安装后,可以使用systemctl start docker命令启动Docker服务 \[1\]。如果需要进行一键部署,可以在Jenkins中配置任务,并在触发器中添加相应的命令,例如cd /var/jenkins_home/workspace/one-demo docker stop one-demo || true docker rm one-demo || true docker rmi one-demo || true docker build -t one-demo . docker run -d -p 6379:6379 --name one-demo one-demo:latest \[3\]。这样就可以实现Docker一键部署。 #### 引用[.reference_title] - *1* *2* *3* [Docker+Jenkins一键自动化部署、超简单~](https://blog.csdn.net/weixin_45647685/article/details/127825728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值