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

https://gitee.com/login

  1. 使用码云创建私有私有git仓库
  2. 将本地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项目自动部署

  1. 新建一个发布任务

  1. 配置任务git账号密码

3.项目打包

clean install

  1. 点击立即构建

第一次构建可能耗时比较长,因为需要下载一些相关依赖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实现自动化部署的更多相关文章

  1. docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)

    前言 背景 最近在帮学校导师写项目,团队有4个人,项目前后端分离.如果是选择瀑布式开发:(在约定好接口的情况下)A.B同学写前端,C.D同学写后端,然后约定一个时间统一联调,最后将项目交付安装到客户机 ...

  2. 基于 Jenkins Pipeline 自动化部署

    最近在公司推行Docker Swarm集群的过程中,需要用到Jenkins来做自动化部署,Jenkins实现自动化部署有很多种方案,可以直接在jenkins页面写Job,把一些操作和脚本都通过页面设置 ...

  3. CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  4. gitlab与jenkins的自动化部署(通过webhook与ansilble)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...

  5. 使用Docker+Jenkins自动构建部署

    环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...

  6. 搭建jenkins实现自动化部署

    搭建jenkins实现自动化部署 一.安装jenkins 1.添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo https://p ...

  7. Kubernetes笔记(三):Gitlab+Jenkins Pipeline+Docker+k8s+Helm自动化部署实践(干货分享!)

    通过前面两篇文章,我们已经有了一个"嗷嗷待哺"的K8s集群环境,也对相关的概念与组件有了一个基本了解(前期对概念有个印象即可,因为只有实践了才能对其有深入理解,所谓"纸上 ...

  8. 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署

    ==================================================================================================== ...

  9. Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

    一般情况下,将一个项目部署到生产环境的流程如下: 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚. 整个过程相当复 ...

随机推荐

  1. from module_name import var

    ######## a.py ######## aa = "Hello World" ####### b.py ######## from a import aa print aa  ...

  2. 三十三.mysqldump 实时增量备份 、innobackupex

    1.数据库备份与恢复 逻辑备份工具 mysqldump 使用mysql 恢复数据库   1.1备份MySQL服务器上的所有库 ]# mysqldump -u root -p123456 --all-d ...

  3. 【源码拾遗】从vue-router看前端路由的两种实现

    本文由浅入深观摩vue-router源码是如何通过hash与History interface两种方式实现前端路由,介绍了相关原理,并对比了两种方式的优缺点与注意事项.最后分析了如何实现可以直接从文件 ...

  4. Bzoj 2282: [Sdoi2011]消防(二分答案)

    2282: [Sdoi2011]消防 Time Limit: 10 Sec Memory Limit: 512 MB Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条 ...

  5. 代码 | 自适应大邻域搜索系列之(7) - 局部搜索LocalSearch的代码解析

    前言 好了小伙伴们我们又见面了,咳咳没错还是我.不知道你萌接连被这么多篇代码文章刷屏是什么感受,不过,酸爽归酸爽.今天咱们依然讲代码哈~不过今天讲的依然很简单,关于局部搜索LocalSearch的代码 ...

  6. windows server2012 搭建.netcore+nginx+nssm运行环境

    1.linux+.netcore+sqlserver的坑 linux不支持访问sqlserver2008及以下的版本(由于System.Data.SqlClient.dll的限制.windows上面访 ...

  7. hbuilder连接模拟器进行联调(逍遥模拟器,MuMu模拟器,夜神模拟器)

    MuMu模拟器:7555 逍遥模拟器:21503 夜神模拟器:62001 1. 2. 3. 如果上诉方法不好使,可以重启模拟器以及hbuilder,有时可能连接中断,可以重新连接.

  8. JavaScript 判断是否为空

    // var a = ""; // var a = " "; // var a = null; // var a = undefined; // var a = ...

  9. .vue的文件在vscode里面是白色?

    https://cnodejs.org/topic/58b8cac17872ea0864fee2ee 要装一个 vetur的插件

  10. openfoam变热物性参数的设置【转载】

    转载自:http://blog.sina.com.cn/s/blog_9de422500102va73.html 物性参数在constant/thermophysicalProperties文件中设置 ...