当前位置: 首页 > news >正文

Docker+ Jenkins+Maven+git自动化部署

环境:Centos7      

           JDK1.8

           Maven3.3.9

           Git   2.40

           Docker  20.10.17

准备工作:

安装Docker

        Centos7默认的yum安装的docker是1.13,版本太低,很多镜像都要Docker版本要求,升级Docker版本。

卸载已安装Docker:   yum remove docker*

yum工具及添加镜像源

yum -y install yum-utils

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum list docker-ce --showduplicates| sort -r

yum -y install docker-ce-20.10.17-3.el7

启动docker   systemctl start docker

构建jenkins容器

docker run -d  --name myJenkins -u root -p 29090:8080  -v /home/jks_home:/var/jenkins_home -v /home/environment:/home/environment  jenkins/jenkins

这里挂载的envionment是linux服务器上本身用于存放jdk,maven等的文件夹

获取Jenkins密码  

        more /home/jks_home/secrets/initialAdminPassword 

jenkins第一次进入的时候会要初始化一些设置,可能需要创建新用户,我这边直接路过创建用户直接使用admin,密码就是初始化的密码。

提前将jdk和maven准备好。也可以不用先下载好直接使用在线安装,但是一般会很慢,第一次构建要半天都不一定能完成。

配置全局工具:

JDK

GIT

Maven:

配置插件:

构建凭据:

我这边加的凭据是git的账号密码:

开始构建任务:

Credentials下拉就会有刚刚添加好的凭据

构建后操作可以加一些maven打包完成的命令:如执行jar包转移然后docker-compose 命令

写的方式可以参考我以前写的jenkins2.46.3+maven+git分布式项目自动部署-CSDN博客

最后点击构建 

已经拉取代码并自动打包了,配合shell命令可以完成后续转移jar到目标文件夹然后用docker-compeose命令重启项目,还可以提前写好单个执行的脚本在服务器上,更新单一的项目。

相关文章:

  • 每日一题:LeetCode-283. 移动零
  • 在Django中使用Q对象和条件运算符来构建动态查询
  • DDoS高防IP到底是什么?
  • C# 友元程序集
  • 225. 用队列实现栈 --力扣 --JAVA
  • linux下实现Qt程序实现开机自启动
  • LeetCode [简单](非递归)二叉树的中序遍历
  • Python爬虫遇到重定向URL问题时如何解决?
  • [密码学]DES
  • 【九日集训】第五天:排序
  • VSCode 代码调试
  • 使用Golang构建高性能网络爬虫
  • MGF4964BL-01 低噪声 InGaAs HEMT(高电子迁移率晶体管) K波段放大器 微X型塑料封装
  • C++模拟实现unordered_map和unordered_set
  • 【探索Linux】—— 强大的命令行工具 P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )
  • C语言笔记(第一章:C语言编程)
  • Go 语言编译器的 //go: 详解
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • ng6--错误信息小结(持续更新)
  • 基于 Babel 的 npm 包最小化设置
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 技术发展面试
  • 每天一个设计模式之命令模式
  • 如何优雅地使用 Sublime Text
  • 算法之不定期更新(一)(2018-04-12)
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 栈实现走出迷宫(C++)
  • Prometheus VS InfluxDB
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (算法)N皇后问题
  • (五)c52学习之旅-静态数码管
  • (转)linux 命令大全
  • .net 中viewstate的原理和使用
  • .Net8 Blazor 尝鲜
  • .net开发引用程序集提示没有强名称的解决办法
  • .net流程开发平台的一些难点(1)
  • .Net语言中的StringBuilder:入门到精通
  • @JoinTable会自动删除关联表的数据
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [Android] Amazon 的 android 音视频开发文档
  • [BZOJ 1040] 骑士
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [C/C++]关于C++11中的std::move和std::forward
  • [C/C++]数据结构----顺序表的实现(增删查改)
  • [codeforces]Levko and Permutation
  • [Gamma]阶段测试报告