docker安装jenkins实现持续部署持续集成

我的环境:

服务器:centos7.3

docker:

在这里插入图片描述

1.安装docker:yum install -f docker

2.安装docker-compose:

  1. curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
  2. chmod +x /usr/local/bin/docker-compose

3.新建docker-compose.yml来构建jenkins

version: "3.1"
services:
  jenkins:
    #镜像名
    image: docker.io/jenkins/jenkins
    #容器名
    container_name: jenkins
    #端口映射
    ports:
     - 8086:8080
     - 12345:50000
     - 8087:80
    #数据卷
    volumes:
      - "/mydocker/jenkins/data:/var/jenkins_home"
      - "/var/run/docker.sock:/var/run/docker.sock"
    #使用root账户
    user: root


我这里映射了三个端口其中8080是容器内jenkins的web登陆端口,我这映射成了宿主机的8086端口,
容器内的80端口是我的项目访问端口,映射成了宿主机的8087端口

4安装jenkins:

在docker-compose.yml的同级运行:docker-compose up -d

在这里插入图片描述

接下来查看日志

在这里插入图片描述

红色圈起来的是密码

浏览器输入http://服务器ip:8086

可以看到下面这个界面,然后填入密码

在这里插入图片描述

这里选择安装推荐的插件

在这里插入图片描述

这个界面非常的漫长,我等了差不多一个小时

在这里插入图片描述

经过漫长的等待,终于进入下一步创建用户,这里只要自己记住就行了

在这里插入图片描述

然后一路小跑下一步就来到了这里

在这里插入图片描述

下面开始配置jenkins的jdk,maven,git,Ant

我这里全都选择的自动安装jdk,maven,git,ant 也可以自己安装,看自己心情

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下面开始新建一个项目

在这里插入图片描述

这里填写项目名称,选择maven项目。确定

配置源码,我这里绑定的是我码云的一个项目

在这里插入图片描述

这里配置触发器,就是说他什么时候去构建项目,我这里选择是轮询三分钟一次,其中轮询和定时器两个的区别就是轮询是在满足时间并且git代码有更新的情况下才会构建项目,定时器只要时间一到就会构建项目

在这里插入图片描述

配置打包方式

在这里插入图片描述

下面编写构建项目后要执行的脚本,使用这个脚本来发布我们的项目(重点)

在这里插入图片描述

#进入jenkins的项目路径
cd /var/jenkins_home
echo "Execute shell Start"
#停止项目
sh stop.sh
#备份项目
sh replace.sh
echo "Execute shell Finish"
#添加权限
chmod 777 /var/jenkins_home/startup.sh
#运行项目
BUILD_ID=dontKillMe nohup /var/jenkins_home/startup.sh &

stop.sh

#!stop.sh
#!/bin/bash
cd //var/jenkins_home/workspace/jenkins_Test/target/
ls
pid=`ps -ef | grep docker_test-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

replace.sh


jar_name=docker_test-0.0.1-SNAPSHOT.jar
#!编译好的jar包存放地址
file_path=/var/jenkins_home/workspace/jenkins/target/
#!将现有的jar备份后,将新的jar包替换
file="/var/jenkins_home/workspace/jenkinsTest/docker_test-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
mv /var/jenkins_home/workspace/jenkinsTest/docker_test-0.0.1-SNAPSHOT.jar /var/jenkins_home/workspace/jenkinsTest/docker_test-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp /var/jenkins_home/workspace/jenkinsTest/target/docker_test-0.0.1-SNAPSHOT.jar /

startup.sh

ehco "授予当前用户权限"
chmod 777 /docker_test-0.0.1-SNAPSHOT.jar
echo "执行....."
cd /
java -jar docker_test-0.0.1-SNAPSHOT.jar
echo "**********************cmp on  jenkins started*************************"

点击保存,回到项目里,点立即构建

这里可以看构建历史

在这里插入图片描述

这里查看控制台的构建信息

在这里插入图片描述

看到SUCCESS这个单词就说明成功了,浏览器就可以访问的我们的项目了,以后码云上的代码更新,jenkins就能帮我们运行项目了

在这里插入图片描述

这里可查看git的轮询时间

在这里插入图片描述

这里可以看上次构建时间和下次构建时间

在这里插入图片描述

可能出现的问题

1:时区不对

先进入jenkins容器,然后修改环境变量,最后重启一下就好了
在这里插入图片描述

重新登陆一下就ok了

在这里插入图片描述

2:在创建项目的时候发现没有maven项目

点击系统管理

在这里插入图片描述

插件管理

在这里插入图片描述

在搜索输入Pipeline Maven,打个勾,直接安装重启就OK了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值