Jenkins+Docker 实现一键自动化部署项目

这篇具有很好参考价值的文章主要介绍了Jenkins+Docker 实现一键自动化部署项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.安装Jenkins

mkdir /docker/jenkins   # 新建Jenkins工作目录
docker pull jenkins/jenkins:lts  # 拉取Jenkins镜像

ls -nd /docker/Jenkins  # 查看目录归属ID
chown -R 1000:1000 /docker/jenkins  # 赋予权限

注:因为Jenkins容器里的用户是Jenkins,而主机用户不是Jenkins,就算是root也一样会报错:/var/jenkins_home/copy_reference_file.log: Permission denied,这个时候就需要在主机上面给主机地址赋予访问Jenkins容器的权限,Jenkins内部用的是uid 1000的user。

docker run -dt --name jenkins -p 9090:8080 -p 50000:50000 --privileged=true -v /docker/jenkins:/var/jenkins_home jenkins/jenkins:lts   # 运行Jenkins容器

-privileged=true让容器具有root权限,便于进入容器

-p 9090:8080指定主机9090端口映射到Jenkins容器的8080端口(Jenkins的web访问端口)

-v /docker/jenkins:/var/jenkins_home容器/var/jenkins_home路径挂载到宿主机/docker/jenkins路径
浏览器输入http://ip:9090访问Jenkins首页:可能需要等待几分钟

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

 然后,我们就可以看到Jenkins了,现在需要对Jenkins进行解锁。

2、解锁Jenkins

密码地址

容器内:/var/jenkins_home/secrets/initialAdminPassword

宿主机:/docker/jenkins/secrets/initialAdminPassword

我们将密码输入到刚刚访问的Jenkins页面,点击继续后可能要等待几分钟。

3、安装插件并创建管理账户

选择第一项“安装推荐插件”即可

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

创建管理账户,这个账户一定要自己记得哦~

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

 于是,我们都设置完后就可以登录进Jenkins了。

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

三、Jenkins系统配置

1、安装插件

进入【首页】–【系统管理】–【插件管理】–【可选插件】。搜索以下需要安装的插件,点击安装即可

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

一共需要安装三个插件,步骤都一样

安装 Maven Integration
安装 Publish Over SSH(如果不需要远程推送,不用安装)
如果使用 Gitee 码云,安装插件Gitee(这里我们使用gitee)


2、配置maven


进入【首页】–【系统管理】–【全局工具配置】,拉到页面最下方 maven–maven 安装。
 

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

 创建任务

新建任务

点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

  • 源码管理

点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

 文章来源地址https://www.toymoban.com/news/detail-600755.html

  • 构建触发器

点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层Maven目标】–【填写配置】–【保存

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

此处命令只是install,看是否能生成jar包

clean install -Dmaven.test.skip=true

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

 

该功能测试是否能正常打包

  • 构建

点击构建按钮

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

  • 查看日志

点击正在构建的任务,或者点击任务名称,进入详情页面,查看控制台输出,看是否能成功打成jar包。

该处日志第一次可能下载依赖jar包失败,再次点击构建即可成功。

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

 

  • 查看项目位置

 

cd /docker/jenkins/workspace

 运行项目

因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。

  • Dockerfile

在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件)

FROM jdk:8
VOLUME /tmp
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

 

  • 修改jenkins任务配置

  • Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

     

    Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

     

-t:指定新镜像名
.:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest

 

备注:

  • 我上图用了docker logs -f 是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败

  • 加|| true 是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错

  • 保存

点击保存即可

Jenkins+Docker 实现一键自动化部署项目,运维,jenkins,docker,自动化

查看jenkins控制台输出,输出如下,证明成功!

  • 验证

  • docker ps 查看是否有自己的容器
    docker logs 自己的容器名 查看日志是否正确

    浏览器访问项目

 

 

到了这里,关于Jenkins+Docker 实现一键自动化部署项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker + Jenkins + Nginx实现前端自动化部署

    文章有点长,如果你是以学习的态度来看这篇文章,建议收藏起来慢慢看。 前端自动化部署一直以来概念很清楚知道怎么回事,但是其中怎么操作没怎么研究过,虽然之前环境都搭起来了,但是也只是Jenkins构建项目成功,比如提交代码之后怎么触发自动构建,打包后的文件

    2024年02月05日
    浏览(49)
  • Gitlab + Docker + Jenkins + Harbor实现自动化部署

    目录 文章目录 前言 一、第一台服务器--Jenkins 1、安装前 2、安装Jenkins 3、修改正在跑容器的端口 4、Jenkins内部插件和配置  二、第二台服务器--Harbor 1、安装docker-compose 2.安装及配置 3、卸载Harbor  4、Harbor启动后操作 三、第三台服务器--生产环境  1、配置私服地址 四、Jenkin

    2024年02月14日
    浏览(58)
  • jenkins+docker实现可持续自动化部署springboot项目

    目录 一、前言 二、微服务带来的挑战 2.1 微服务有哪些问题

    2024年04月15日
    浏览(81)
  • Jenkins自动化部署docker

    准备测试服务器docker环境 准备jdk环境 将上传jar包修改为 app.jar 对外暴露 1000 端口 启动jar 制作镜像 将上传的镜像先测试,我的jar包叫 sky-server-1.0-SNAPSHOT.jar 先将这个做成镜像 创建容器 将之前做的镜像运行 环境准备 前提需要Jenkins和Gitea这个要提前准备好。 1、配置Jenkins的M

    2024年01月17日
    浏览(58)
  • .NET Core部署到linux(CentOS)最全解决方案,入魔篇(使用Docker+Jenkins实现持续集成、自动化部署)

    通过前面三篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus) 通过前面三篇文章的介绍,我们已经对.net core多方案部署到linux下有了非常全面的认识

    2024年02月02日
    浏览(45)
  • QT+jenkins window环境实现一键自动化构建打包签名发布

            1.官网下载地址: Jenkins download and deployment,下载最新版本的安装包并安装。安装过程中,会要求你输入端口号并记住。         2.java下载地址:Java Downloads | Oracle,下载最新版本的安装包并安装。         3.浏览器输入网址:127.0.0.1: port, port为端口号,默认8080,安

    2024年02月01日
    浏览(45)
  • docker+jenkins+dockerfile 自动化部署发布

    提示: 文章如有错误的地方请指出,以免误人子弟! 提示:以下是本篇文章正文内容,下面案例可供参考 下载镜像 下载maven maven 官网下载地址 或者使用命令下载 通过软件放到 linux 的目录下,这边放到Home目录下 解压 进到解压的目录下,创建项目的本地仓库文件夹并赋予读

    2024年02月05日
    浏览(46)
  • docker+jenkins自动化部署springboot项目

    阿里云服务器1核2GB java 1.8.0._371 maven apache-maven3.8.8 git 1.8.3.1 docker和jenkins在一台服务器上,环境的配置,对于java和maven可以自己下载对应tar包进行配置,记得配置环境,也可以使用yum进行安装。记得配置/etc/profile后source一下: source /etc/profile Maven记得修改镜像!!! 在本地创建

    2024年02月03日
    浏览(48)
  • Docker + Jenkins 自动化部署若依项目

    前言 对着此文章操作之前,确保服务器上的Java环境(JDK、MySQL、Redis、Jenkins以及Linux安装Maven)已经装好,如果没有装好,参考我之前的文章。 注意: 如果服务器上自己装的又 Nginx ,需要手动停了,要不会导致80端口被占用 1:首先,到若依官网拉去若依分离版项目 2:拉完之后

    2024年04月16日
    浏览(48)
  • Jenkins+Docker+Gitee搭建自动化部署平台

    目录 服务器准备 Docker安装 yum 包更新到最新 设置yum源 安装docker 启动和开机启动 验证安装是否成功 Jenkins安装 拉取镜像 创建映射目录 运行镜像 运行出错 修正权限 重新运行镜像 新建安全组,放通8080端口 激活Jenkins Jenkins插件 Jenkins全局工具配置 自动构建Springboot项目 准备好

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包