Jenkins入门

https://www.bilibili.com/video/BV17y4y1v7Qy?p=9&spm_id_from=pageDriver

背景:
1.在实际开发中,我们经常要一边开发人员开发一边测试人员测试 或者 前后端分离后,经常会修改接口,然后重新部署;
2.这些情况都会涉及到频繁的打包部署;
手动打包常规步骤:
1.提交代码
2.问一下同组小伙伴有没有要提交的代码
3.拉取代码并打包(war包,或者jar包)
4.上传到Linux服务器
5.查看当前程序是否在运行
6.关闭当前程序
7.启动新的jar包
8.观察日志看是否启动成功
9.如果有同事说,自己还有代码没有提交......再次重复1到8的步骤!!!!!(一上午没了)

那么,有一种工具能够实现,将代码提交到git后就自动打包部署勒,答案是肯定的:Jenkins
当然除了Jenkins以外,也还有其他的工具可以实现自动化部署,如Hudson等。(Jenkins相对更广泛)

持续集成-cl: 多次将代码集成到主干,构建/单元测试/结果 build-test-result

持续交付-cd:频繁交给质量团队评审,如果通过,则进入生产阶段。 是在持续集成的基础上。 test-staging-production(手动)

持续部署-cd: 生产环境自动部署

流程: 提交代码commit----测试(第一轮:单元测试)----构建(将代码转为可允许实际代码, jenkins)-----测试(第二轮,全面)----部署(artifact版本)-------回滚(做法:修改符号链接)

docker pull jenkins/jenkins
# 创建Jenkins挂载目录并授权权限(我们在服务器上先创建一个jenkins工作目录 /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。 如果我们不这样做,那么如果需要修改容器配置文件,将会有点麻烦,因为虽然我们可以使用docker exec -it --user root 容器id /bin/bash 命令进入容器目录,但是连简单的 vi命令都不能使用)
mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount
# -d 后台运行镜像
# -p 10240:8080 将镜像的8080端口映射到服务器的10240端口。   输入你的ip加上10240
# -p 10241:50000 将镜像的50000端口映射到服务器的10241端口   输入你的ip加上10241
# -v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录
# -v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。
# --name myjenkins 给容器起一个别名
docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins

docker ps -l
docker logs myjenkins


/mydata/jenkins_home/secrets/initialAdminPassword   //查看密码

# 1. 创建一个jenkins.sh脚本,用于docker运行镜像
mkdir -p /usr/local/jenkins
cd /usr/local/jenkins
vim jenkins.sh
  
  #!/usr/bin/env bash
  app_name='jenkinsdemo'
  docker stop ${app_name}
  echo '----top container ---'
  docker rm ${app_name}
  echo '----rm container ---'
  docker run -di --name=${app_name} -p 7070:7070 test/${app_name}:1.0-SNAPSHOT
  echo '----start container---'
  
chmod +x ./jenkins.sh    //可执行权限 

# 2. 构建一个任务,安装(git配置:拉取代码,对应的url/用户/密码)(maven配置:把源码打包成docker镜像,并上传到docker的私有仓库)(新增构建脚本:运行jenkins.sh,启动容器)
==> 新建任务--构建自由... - 源码管理-git url - 密码  (码云)
==> 构建-调用顶层maven目标---目标:clean package - POM:pom.xml
==> 增加构建步骤: execute shell script on remote host using ssh
ssh site:root@xxx.xx.xx.xx    远程服务器
Command: /usr/local/jenkins/jenkins.sh
  
# /jenkins_mount/tools/xxxx/xxx    :对应安装的maven/jdk等 ,  maven/config/settings.xml 修改镜像
docker restart jenkins  //重启jenkins 
docker images
docker ps   //查看容器
//访问项目
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值