最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全网Jenkins+Gitee+Docker/SSH 部署避坑点总结 每日关注

来源:博客园

一些步骤可参考此文,但是该文章仍然存在一些坑。在以下进行了一些步骤说明以及避坑点。https://juejin.cn/post/7127860325777014791#heading-21


(资料图片仅供参考)

踩坑点0: 容器少配置无法运行docker

运行 jenkins 容器并且挂载目录以及 Docker sock 文件(sock作用:可以在jenkins容器中使用宿主机的 docker )docker run -d --name myjenkins -p 8088:8080 -p 50000:50000 -v /data/myjenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -u root jenkins/jenkinsps: 以 root 权限运行该容器,挂载工作目录,挂载 jenkins 容器运行宿主机 docker 所需文件。这样才能在容器中正常运行 docker。

查看 admin 登录密码cat /var/jenkins_home/secrets/initialAdminPassword

安装插件并且配置 SSH、Gitee● Maven Integration:Maven 构建工具● Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上。● Gitee:协助使用 Gitee 仓库。

配置 maven 和 jdkmaven:将宿主机的 maven 包拷贝到 jenkins 容器中供其配置docker cp /pzi/dev_env/maven/apache-maven-3.9.2/ jenkins:/opt/配置路径/opt/apache-maven-3.9.2

jdk:/opt/java/openjdk

打包构建:打包后的文件,会放到工作目录里面,我们对该目录中的 jar 包,使用 dockerfile 进行创建容器并且运行,就可以实现提交代码后,一键部署。

配置 Webhook :先配置 jenkins 中的,再配置 gitee 中的,在 gitee 中要记得加上 jenkins 的账号密码。格式:http://username:password@11.11.11.11:8088/xxxx

部署流程部署方式 1:

  1. 将 jar 包通过 ssh 发到宿主机
  2. 然后执行宿主机的 shell 脚本,脚本中包含:构建镜像并且运行该镜像称为容器部署方式 2 ( 适用于 jenkins 和 docker 服务跑在同一台服务器):
  3. 在流程中指定使用 Dockerfile 来构建镜像即可

shell// 执行脚本时的默认目录,就是在当前工作目录docker stop rpa_app || truedocker rm rpa_app || truedocker rmi rpa_app || truedocker build -t rpa_app .docker run -d -p 8899:80 --name rpa_app rpa_app:latest

我才用的是使用 docker 来部署,所以配置如下。

踩坑点 1 远程目录的配置

配置 SSH Servers如果采用 ssh 的方式发送,需要注意这个 Remote Directory,如果构建的时候报错说找不到目录,ssh Publishers 的远程目录可能失效,那么就需要修改下图中的 Remote Directory。配置 SSH Servers如果采用 ssh 的方式发送,需要注意这个 Remote Directory,如果构建的时候报错说找不到目录,ssh Publishers 的远程目录可能失效,那么就需要修改下图中的 Remote Directory。

踩坑点 2:源文件路径的配置

SSH Publishers 配置的注意点:发送文件到宿主机(其他服务器主机)时的配置:

  1. 踩坑点:源文件的路径配置,注意它以什么为起始,否则文件发送不成功Source files 的路径是相对于工作路径起的,如 freedemo2/ 起,只需要配置它后面的。

关键词: