这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?

一、为什么用jenkins

主要是我们现在的项目都是采用手动部署的,每当给项目中新增一个功能就必须执行(打包--测试--上传测试修复的包到指定服务器--部署上线),这个流程操作起来繁杂,不小心就可能导致部署失败;急需找到一个方式来解决本来就机械化的工作,于是就选择了Jenkins。它能够实现打包、测试、审验、部署一键操作,而已也支持很多插件兼容,操作起来简单方便。

二、Jenkins到底是什么?

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。下面为项目持续集成和交互的流程图

三、Docker安装Jenkins

1.拉取jenkins镜像

启动docker $ systemctl start docker 拉取镜像 $ docker pull jenkins/jenkins 查看镜像

2.创建Jenkins挂载目录

稍后可以将docker内的目录挂载到此目录上,方便操作容器内文件夹而不需要进入容器 $ mkdir -p /var/jenkins_home

3.为挂载目录赋予权限

chmod 777 /var/jenkins_home

4.运行jenkins

启动一个docker容器,-d是后台执行 -p是本机49001映射容器中的8080端口,该端口是Jenkins默认监听端口 -v表示将容器中的/var/jenkins_home挂载到本机的/var/jenkins_home目录,前者为本机地址,后者为容器地址 --name表示让其命名为myjenkins 最后jenkins/jenkins则是本次运行使用的镜像

可通过显示容器命令查看运行情况

至此jenkins安装完成并运行,可通过ip地址加上端口号49001访问 界面如下

如无法打开,请检查容器启动情况并通过查看错误日志排查错误情况 docker logs myjenkins 使用云服务器请检查防火墙是否开放对应端口

5.查看Jenkins密码

6.配置jenkins插件

启动jenkins后,可选择使用推荐插件或自定义插件。插件安装失败或速度过慢,可通过配置镜像加速解决。

7.配置镜像加速

至此,安装配置完成

四、Jenkins结合Github拉取源码

前置条件:

(1)jenkins已经安装完成,参考我的另一篇文章进行安装配置:jenkins安装及配置

(2)Jenkins服务器已经拥有一个公网IP地址,由于我是本地搭建的,所以我用NATPP实现内网穿透。

(3)插件安装:CloudBees Credentials 、GitHub API Plugin、SSH Credentials Plugin、Git client plugin、SCM API、Mailer Plugin 、Plain Credentials Plugin 、GIT plugin、GitHub Plugin

1、配置Personal Access Token

在对项目有写权限的用户上获取token进入github –> setting –> Developer settings –>  Personal Access Token

2、新建项目

3、配置github源码拉取

3.1 配置凭据

3.2 配置github服务

3.3 在刚刚创建的项目配置github

3.4 选择项目“立即构建”

五、基于Docker自动构建项目

1、安装docker插件

安装docker插件

2、配置Docker服务

2.1 开启Docker服务的2376端口

2.1.1 编辑配置文件
2.1.2 配置2376的tcp端口
2.1.3 重启和加载Docker服务

2.2 配置Docker服务

3、jenkins配置自动部署项目

3.1 配置“构建环境”--添加“build/publish docker image”

3.2 配置Docker服务打包镜像

3.3 配置SSH插件

3.3.1 安装SSH插件
3.3.2 配置SSH登录

选择上面高级勾选并设置密码

3.3.3 使用配置的SSH插件

3.3.4 添加执行shell脚本

3.4 保存后构建项目

3.5 直接访问项目即可实现自动部署

查看223服务器上面的Docker运行容器

访问项目测试

(0)

相关推荐

  • 使用Jenkins实现项目持续集成部署

    十多年前,敏捷开发人员开始拥抱并促进测试驱动的开发和持续集成(CI).利用这些技术,只要开发人员将源代码检查到源存储库中,我们就可以自动构建源代码,执行详尽的单元测试套件以确保应用程序正常运行.许多测 ...

  • k8s Jenkins GitLab-自动化部署项目(强推)

    一.闲聊 如果以下内容有不足的地方,请指出,我会第一时间更正.谢谢大家. 二.部署流程介绍  1.先上一下手绘导图,大致的流程图如下:(不喜勿喷呀) 大致的部署流程是这样的:开发人员把做好的asp.n ...

  • 通过 Jenkins Docker 实现应用自动部署

    本文通过Jenkins+Docker+Git搭建了CI/DI环境,着重讲解Jenkins构建配置. 起因 2020年6月11日,突然被腾讯云通知,系统中存在木马文件,还好只是刚搭建的用于开发测试的服务 ...

  • Docker 搭建属于自己的 Eureka 注册中心

    一. 环境介绍 Ubuntu 18.04 LTS (Win10 wsl2) Docker 19.03.8 二. 必要的 Docker 命令学习 docker images # 查看已有镜像 docke ...

  • Docker安装solo博客部署到云服务器教程

    目录 1. Docker 部署 2. 日志配置 3. Nginx 反向代理 Solo 是一款小而美的开源博客系统,专为程序员设计.Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回 ...

  • jenkins学习1-docker快速搭建jenkins环境

    前言 jenkins的环境搭建方法有很多,本篇使用docker快速搭建一个jenkins环境. 环境准备: linux服务器 docker docker运行jenkins 先下载jenkins镜像ht ...

  • 使用 Docker 搭建 SonarQube 代码扫描平台

    引言静态代码分析是指在不运行代码的方式下,通过词法分析.语法分析.控制流.数据流分析等技术对程序代码进行扫描的技术.它的目的是验证代码是否满足规范性.安全性.可靠性.可维护性的要求.统计证明,在整个软 ...

  • Docker版Jenkins持续集成

    随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的 ...

  • Jenkins + GitLab + Dockers 部署 Spring Boot 应用

    Spring boot 为微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章将介绍如何使用 Jenkins 快速的生成微服务的镜像以及快速启动服务.主要流程:更新代码到 Git ...

  • CentOS7上Docker搭建OpenStf环境

    应用场景: 开始了解stf主要源自于当前移动端自动化过程中,发现执行机器上挂载的移动设备监控起来比较麻烦,有时候报错或调试需要跑到执行机所在的位置查看运行情况,有没有一种办法可以直接在自己位置上就能看 ...

  • Docker学习笔记之--借助Docker Compose进行多容器部署(环境:centos7)

    接下来演示借助Docker Compose进行多容器部署. 前边的章节演示尽管可以实现需求功能,但是在生产环境当中,维护起来显然很麻烦,所以下边演示借助Docker Compose功能,实现一键部署! ...