基于Docker+Jenkins实现自动化部署的方法

使用码云搭建Git代码存储仓库

https://gitee.com/login

  • 使用码云创建私有私有git仓库
  • 将本地springboot项目上传到git仓库中

基于Docker安装Jenkins环境

1.使用docker 安装jenkins

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2.访问jenkins地址 8080

注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。

3.解锁jenkins

docker exec -it 7f485bd95c3b /bin/bash 进入jenkins容器 

cat /var/jenkins_home/secrets/initialAdminPassword

大概需要等待3-10分钟

创建新的用户

Jenkins全局工具配置

进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址

JDK环境安装

Maven环境安装

安装Jenkins对应Maven插件

找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本

插件名称 Maven Integration

Jenkins实现Springboot项目自动部署新建一个发布任务

配置任务git账号密码

3.项目打包

clean install

点击立即构建

第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包

Jenkins启动成功之后执行shll脚本

#!/bin/bash
#服务名称
SERVER_NAME=springboot
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
JAR_NAME=springboot-0.0.1-SNAPSHOT
# 源jar路径
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/springboot/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/target

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
kill -9 $id
echo "killed $id"
done
echo "结束进程完成"

#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
Nohub java -jar $JAR_NAME.jar

加nohub 指的是后台运行,或者使用nohub &

容器映射8081端口

1. 重启容器

systemctl restart docker

2. 清空未运行的容器

docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080  -p 8081:8081  -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

到此这篇关于基于Docker+Jenkins实现自动化部署的文章就介绍到这了,更多相关Docker+Jenkins实现自动化部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • .Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法

    前言 本文主要介绍了关于.Net Core自动化部署用docker版jenkins部署dotnetcore应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的实现步骤吧. 安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Container Dockerfile FROM jenkins/jenkins # Switch to root t

  • 从零搭建docker+jenkins+node.js自动化部署环境的方法

    本次案例基于CentOS 7系统 适合有一定docker使用经验的人阅读 适合有一定linux命令使用经验的人阅读 1.docker部分 1.1.docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口 1.2.docker架构 简单的说,docker就是一个轻量级的linux系统.Docker 容器通过 Docker 镜像来创建.

  • springboot docker jenkins 自动化部署并上传镜像的步骤详解

    springboot + docker + jenkins自动化部署项目,jenkins.mysql.redis都是docker运行的,并且没有使用虚拟机,就在阿里云服务器(centos7)运行 1.前期准备工作不说了 2.在项目根目录下新建Dockerfile Dockerfile文件内容为: #基础镜像 FROM openjdk:12 #作者 MAINTAINER demo <demo@qq.com> VOLUME /tmp #指定配置文件,以及jar包在服务器上的路径 ENTRYPOIN

  • 在Docker中自动化部署Ruby on Rails的教程

    基本的Rails应用程序 现在让我们启动一个基本的Rails应用.为了更好的展示,我使用Ruby 2.2.0和Rails 4.1.1 在终端运行: $ rvm use 2.2.0 $ rails new && cd docker-test 创建一个基本的控制器: $ rails g controller welcome index --,然后编辑 routes.rb ,以便让该项目的根指向我们新创建的welcome#index方法: root 'welcome#index' 在终端运行 r

  • 基于Docker+Jenkins实现自动化部署的方法

    使用码云搭建Git代码存储仓库 https://gitee.com/login 使用码云创建私有私有git仓库 将本地springboot项目上传到git仓库中 基于Docker安装Jenkins环境 1.使用docker 安装jenkins docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean 2.访问jenkins地址 8080 注意:第一次启动的时候正在加载j

  • 基于Docker的Etcd分布式部署的方法步骤

    一 环境准备 1.1 基础环境 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24.8.71 etcd1.example.com 用于保存相关IP信息 docker01 172.24.8.72 docker01.example.com   docker02 172.24.8.73 docker02.example.com   # hostnamectl set-h

  • 基于Docker与Jenkins实现自动化部署的原理解析

    原理:Jenkins构建(开发提交代码到代码管理平台),Jenkins处理(Jenkins获取远程代码,自动将源代码实现打包,执行shell脚本启动). Linux安装Docker sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-

  • Jenkins+Docker+Gitee+SpringBoot自动化部署

    目录 1,搭建Jenkins平台 2,Jenkins平台配置 3,创建SpringBoot应用 4,Gitee配置 5,新建自动化部署任务 6,打包测试 当我们使用传统的开发方式开发后台系统时,每写完一个功能点就需要重新运行一下项目,然后进行测试,如果是项目比较小还可以,但是如果项目比较大的话,由于涉及的人员比较多,这种开发方式就比较麻烦.基于此,我们就需要使用Jenkins配合Gitee搭建一个自动化部署平台,并将代码托管到服务器上,这样减轻了本地的电脑压力,也解放了部署的流程. 1, 搭建J

  • spring boot 项目利用Jenkins实现自动化部署的教程详解

    本文主要讲解利用Jenkins实现spring boot项目的自动化部署: •1.后台技术架构:Spring boot 1.4.2.RELEASE +Mybatis 3+ Redis+ Mysql 5.6+JDK8; •2.代码构建工具:maven 3.3; •3.源代码托管工具:Gitlab; •4.利用maven的docker插件打包成docker镜像在docker容器中部署项目: •5.服务器是阿里云的ECS; 一.安装Jenkins 1.阿里云服务器安装Jenkins方式见如下链接地址

  • 使用Docker+Jenkins自动构建部署

    本文介绍了Docker+Jenkins自动构建部署,分享给大家,具体如下: 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行jenkins 运行jenkins容器 在主机上创建目录,并添加读写权限以便jenkins应用运行时读写文件,如: $ mkdir -p /var/jenkins_node $ chmod 777 /var/jenkins_node 拉取jenkins镜像:docker pull jenkins,当前是2.60.3版.

  • Docker Compose一键ELK部署的方法实现

    安装   Filebeat 已经完全替代了 Logstash-Forwarder 成为新一代的日志采集器,因为它更加轻量.安全.基于 Filebeat + ELK 的部署方案架构图如下:    软件版本: 服务 版本 说明 CentOS 7.6 Docker 18.09.5 Docker Compose 1.25.0 ELK 7.5.1 Filebeat 7.5.1 docker-compose 文件 version: "3" services: es-master: containe

  • Maven+Tomcat8 实现自动化部署的方法

    本文介绍了Maven+Tomcat8 实现自动化部署的方法,分享给大家,具体如下: 1.配置tomcat-users.xml 首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): <role rolename="tomcat"/> <role rolename="manager"/> <role rolename="manager-gui"/> <

  • GO 使用Webhook 实现github 自动化部署的方法

    通常大家开发大部分是本地git push 提交,服务器上git pull 手动更新.git 可以使用webhook实现自动部署. webhook是仓库平台的一个钩子事件,通过hook 钩子监听代码,回调通知(通知地址就是你在各个git仓库平台中填写的webhook地址,一般在你的某个项目仓库如myproject.git里面的设置中)仓库平台填写的地址. 其实原理流程就是: 所以自动部署主要实现方式就是: - 修改代码 push - github(其他仓库平台)发送请求给你的网站服务器 - 网站服

  • 基于Docker搭建ELK 日志系统的方法

    背景需求: 业务发展越来越庞大,服务器越来越多 各种访问日志.应用日志.错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要到服务器上查日志,不方便 运营人员需要一些数据,需要我们运维到服务器上分析日志. ELK介绍: ELK是三个开源软件的缩写,分别为:Elasticsearch . Logstash以及Kibana , 它们都是开源软件. 目前由于原本的ELK Stack成员中加入了 Beats 工具所以已改名为Elastic Stack. Beats,它是一个轻量级

随机推荐