温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jenkins中怎么利用docker部署微服务

发布时间:2021-07-30 18:04:09 阅读:448 作者:Leah 栏目:大数据
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章给大家介绍jenkins中怎么利用docker部署微服务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。


构建镜像

DOckerFile 格式如下

FROM java:8-jreMAINTAINER 303600370@qq.comENV TZ=Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /gatewayWORKDIR /gatewayEXPOSE 9999
 
docker build -t upms:1.0 . //注意此处DockerFile在当前目录,否则请指定路径
 
//查看我们生成的镜像# docker imagesREPOSITORY            TAG                 IMAGE ID            CREATED             SIZEupms                  1.0                 5a85b918f97b        About an hour ago   311MBauth                  1.0                 ebe9c89204a3        2 hours ago         311MBgateway               1.0                 d569bd2776b5        2 hours ago         311MBregister              1.0                 72b8e3d9053d        6 hours ago         311MBjenkinsci/blueocean   latest              15c11ce3d610        46 hours ago        567MBjenkins/jenkins       latest              ca03aad4393c        2 days ago          648MBgogs/gogs             latest              a9376695685c        3 days ago          90.6MBportainer/portainer   latest              2869fc110bf7        4 weeks ago         78.6MBjava                  8-jre               e44d62cf8862        3 years ago         311MB
   

jenkins 安装

docker run \  -u root \  --rm \           --1  -d \   --2  -p 8080:8080 \   --3  -p 50000:50000 \   --4  -v jenkins-data:/var/jenkins_home \   --5  -v /var/run/docker.sock:/var/run/docker.sock \   --6  jenkinsci/blueocean  --71 jenkinsci/blueocean 关闭时自动删除Docker容器(下图为实例)。如果您需要退出Jenkins,这可以保持整洁。2 jenkinsci/blueocean 在后台运行容器(即“分离”模式)并输出容器ID。如果您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志。3 映射(例如“发布”)jenkinsci/blueocean 容器的端口8080到主机上的端口8080。 第一个数字代表主机上的端口,而最后一个代表容器的端口。因此,如果您为此选项指定 -p 49000:8080 ,您将通过端口49000访问主机上的Jenkins。4 将 jenkinsci/blueocean 容器的端口50000 映射到主机上的端口50000。 如果您在其他机器上设置了一个或多个基于JNLP的Jenkins代理程序,而这些代理程序又与 jenkinsci/blueocean 容器交互(充当“主”Jenkins服务器,或者简称为“Jenkins主”), 则这是必需的。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主站进行通信。 您可以通过“ 配置全局安全性” 页面更改Jenkins主服务器上的端口号。如果您要将您的Jenkins主机的JNLP代理端口的TCP端口 值更改为51000(例如),那么您需要重新运行Jenkins(通过此 docker run …命令)并指定此“发布”选项 -p 52000:51000,其中最后一个值与Jenkins master上的这个更改值相匹配,第一个值是Jenkins主机的主机上的端口号, 通过它,基于JNLP的Jenkins代理与Jenkins主机进行通信 - 例如52000。 映射在容器中的`/var/jenkins_home` 目录到具有名字 jenkins-data 的volume。 如果这个卷不存在,那么这个 docker run 命令会自动为你创建卷。 如果您希望每次重新启动Jenkins(通过此 docker run ... 命令)时保持Jenkins状态,则此选项是必需的 。 如果你没有指定这个选项,那么在每次重新启动后,Jenkins将有效地重置为新的实例。5 所述的 jenkins-data 卷也可以 docker volume create命令创建: docker volume create jenkins-data 代替映射 /var/jenkins_home 目录转换为Docker卷,还 可以将此目录映射到计算机本地文件系统上的目录。 例如,指定该选项 -v $HOME/jenkins:/var/jenkins_home 会将容器的 /var/jenkins_home 目录映射 到 本地计算机上目录中的 jenkins 子目录, 该$HOME目录通常是 /Users/<your-username>/jenkins 或`/home/<your-username>/jenkins` 。6 (可选 /var/run/docker.sock 表示Docker守护程序通过其监听的基于Unix的套接字。 该映射允许 jenkinsci/blueocean 容器与Docker守护进程通信, 如果 jenkinsci/blueocean 容器需要实例化其他Docker容器,则该守护进程是必需的。 如果运行声明式管道,其语法包含agent部分用 docker例如, agent { docker { ... } } 此选项是必需的。 在Pipeline Syntax 页面上阅读更多关于这个的信息 。jenkinsci/blueocean Docker镜像本身。如果此镜像尚未下载,则此 docker run 命令 将自动为您下载镜像。此外,如果自上次运行此命令后发布了此镜像的任何更新, 则再次运行此命令将自动为您下载这些已发布的镜像更新。 注意:这个Docker镜像也可以使用以下 docker pull命令独立下载(或更新) : docker pull jenkinsci/blueocean 注意: 如果复制并粘贴上面的命令片段不起作用,请尝试在此处复制并粘贴此无注释版本:完整命令docker run -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --restart=always  jenkinsci/blueocean 
 

jenkins 使用默认安装后,登录页面

新建一个构建任务(作为代码管理)

jenkins中怎么利用docker部署微服务  

选择git

jenkins中怎么利用docker部署微服务  

保存任务 -> 构建任务

jenkins中怎么利用docker部署微服务  

java 服务构建

新建任务 (添加shell)

jenkins中怎么利用docker部署微服务  
BUILD_ID=donKillMeapi_pid=` docker ps -a | grep getaway | awk '{print $1}'` echo api_pid = $api_pidif [ "$api_pid" != "" ]; then        echo restart getaway        docker restart  $api_pid        echo sleep 3sfiif [ "$api_pid" == "" ]; then        echo mkdir imagesdocker run --add-host=pigx-mysql:172.17.0.1  -d -p 4000:4000 -v /getaway:/getaway --name getaway getaway:1.0 java -jar /getaway/getaway.jar        echo sleep 3sfi
 

构建

jenkins中怎么利用docker部署微服务  
 

附录

jenkins 数据地址 (可能)

//项目根目录/var/lib/docker/volumes/jenkins-data/_data/workspace///jar目录/var/jenkins_home/workspace/getaway/target/getaway.jar//日志目录/var/lib/docker/volumes/jenkins-data/_data/workspace/getaway/logs/
 
初始密码 目录 /var/jenkins_home/secrets/initialAdminPassword

关于jenkins中怎么利用docker部署微服务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/superhreojim/blog/4473990

AI

开发者交流群×