Docker 搭建 Jenkins 实现自动部署

简介: 自动化部署(持续集成/CI+持续交付/CD)不仅可以提升开发效率,让程序员更专注产品与业务的开发,还可以节省很多运维成本以及提升运维效率。其中,Jenkins是自动化部署中最流行的工具,尤其是Docker+Jenkins的完美搭配,每个程序员都应该掌握这两个工具的使用。

环境配置

操作系统:CentOS Linux release 7.6.1810
Docker 版本:19.03.5
Jenkins 版本:2.204.1

Docker安装Jenkins

Docker下载Jenkins

docker pull jenkins/jenkins:lts //最新版

查看Jenkins镜像

docker images
docker inspect jenkins镜像ID

Docker 搭建 Jenkins 实现自动部署

创建一个Jenkins目录

mkdir /data/jenkins_home;

安装启动Jenkins容器

docker run -d --name jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts;
备注:
-d //启动在后台
--name //容器名字
-p //端口映射(8081:宿主主机端口,8080:容器内部端口)
-v //数据卷挂载映射(/data/jenkins_home:宿主主机目录,另外一个即是容器目录)
enkins/jenkins:lts //Jenkins镜像(最新版)

查看Jenkins启动情况

docker ps | grep jenkins;

Docker 搭建 Jenkins 实现自动部署

安装过程遇到的小问题

Jenkins容器docker run之后状态总是Exited

查看docker日志 :
docker logs jenkins  
发现是目前权限问题
因为/data/jenkins_home 目录是root权限

Docker 搭建 Jenkins 实现自动部署

Docker 搭建 Jenkins 实现自动部署

解决:
chown -R 1000:1000 /data/jenkins_home //用户组改变

Docker 搭建 Jenkins 实现自动部署

宿主主机端口要开启

因为本操作是在阿里云ECS上进行安装的,需要在安全组里开放8081此端口。

访问Jenkins

http://120.26.50.165:8081 //ip:端口号

管理配置Jenkins

解锁

在安装完成后,默认生成了一个登录密码,首次登录需要这个密码。
密码路径:var/jenkins_home/secrets/initialAdminPassword //容器内部
查找密码:
docker exec -it jenkins_01 bash //进入jenkins容器
cat /var/jenkins_home/secrets/initialAdminPassword //查看密码

Docker 搭建 Jenkins 实现自动部署

安装插件

新手安装建议选择:Install suggested plugins,安装过程大概半个多小时。

Docker 搭建 Jenkins 实现自动部署

Docker 搭建 Jenkins 实现自动部署

管理用户创建

这个用户就是最大管理者权限,相当于admin

Docker 搭建 Jenkins 实现自动部署

Jenkins配置完成

到此步,安装就大功告成!
http://120.26.50.165:8081 //ip:端口号

Docker 搭建 Jenkins 实现自动部署

Docker 搭建 Jenkins 实现自动部署

实现自动化部署

有了Jenkins,接下来就是代码的自动部署过程了。

请参考这一篇:Docker+lnmp+Jenkins+码云实现PHP代码自动部署

目录
相关文章
|
17天前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
1月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
54 3
|
17天前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
17天前
|
jenkins Shell 持续交付
自动化部署:使用Jenkins和Docker实现CI/CD
【8月更文挑战第31天】 本文旨在引导读者了解如何通过Jenkins和Docker来实现持续集成和持续部署(CI/CD),从而优化开发流程,提升工作效率。文章将详细介绍配置Jenkins服务器、创建Docker镜像以及设置自动化构建和部署的步骤。通过实际操作案例,我们将展示如何将代码变更快速部署到测试或生产环境,确保软件质量与发布速度的双重保障。
|
17天前
|
jenkins 持续交付 开发工具
Jenkins 与 Docker 集成的最佳实践
【8月更文第31天】随着容器技术的兴起,越来越多的团队开始采用 Docker 来构建和部署应用。Docker 提供了一种轻量级的虚拟化方法,使得应用可以在任何地方以相同的方式运行,这极大地提高了开发效率和部署的一致性。与此同时,Jenkins 作为一种广泛使用的持续集成/持续交付(CI/CD)工具,可以帮助团队自动化构建、测试和部署流程。本文将探讨如何将 Docker 与 Jenkins 集成,以简化开发环境的搭建和维护。
81 0
|
19天前
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
19天前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
22天前
|
Ubuntu jenkins 持续交付
Docker:docker安装部署jenkins
Docker:docker安装部署jenkins
22 0
|
1月前
|
jenkins 网络安全 持续交付
Jenkins Pipeline 流水线 - 上传文件 Publish over SSH + Docker 编译 + 上传到阿里仓库
Jenkins Pipeline 流水线 - 上传文件 Publish over SSH + Docker 编译 + 上传到阿里仓库
24 0
|
1月前
|
Kubernetes jenkins 持续交付
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
67 0