使用Docker搭建Jenkins到自动构建,自动部署(全过程,避免踩坑版)!

不废话,直接上干货。

确保服务器已经安装docker容器,

开始  cd home 到home目录下,按照下面步骤构建镜像。

1.新建Dockerfile 

touch Dockerfile
vim Dockerfile

2.加入以下内容:

FROM jenkins

USER root

RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \
  && echo "deb http://mirrors.aliyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list \
  && echo "deb http://mirrors.aliyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list \
  && echo "deb http://mirrors.aliyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
#更新源并安装缺少的包
RUN apt-get update && apt-get install -y libltdl7 && apt-get update

ARG dockerGid=999

RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group 

# 安装 docker-compose 因为等下构建环境的需要
RUN curl -L https://github.com/docker/compose/releases/download/2.176.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

RUN chmod +x /usr/local/bin/docker-compose

3.构建image

docker build . -t auto-jenkins

出现以上 Successfully 内容代表安装Jenkins成功

4.在启动Jenkins时,需要先创建一个Jenkins的配置目录,并且挂载到docker 里的Jenkins目录下

mkdir -p /var/jenkins_home

5.修改目录权限(很重要!)

chown -R 1000 /var/jenkins_home

6.运行 Jenkins

docker run --name jenkins -p 8080:8080 -p 6080:6080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock  -v $(which docker):/bin/docker -v /mnt:/mnt -v /var/jenkins_home:/var/jenkins_home  -d auto-jenkins

-p 是端口映射 8080 端口映射jenkins的端口,6080是我tomcat项目的端口

-v 是目录挂载,我的项目在linux下的mnt,所以也挂载过去,后面写shell脚本的时候就知道了,不然找不到路径

然后访问  http://<你的ip>:8080  就可以了

第二步  配置jenkins

重点重点

在linux下安装 Git 就可以了 不需要安装maven,在配置jenkins的时候自动安装maven,剩下的jdk docker容器已经有了

在jenkins的全局配置中,也不用配置jdk,只需要配置git就好了 如下图

 

然后还有个配置点 值得注意

这个是项目的配置信息  只用clean install  不需要加maven或者 mvn前缀了

然后就是配置git仓库地址

Shell脚本

上图中 有个 deploy.sh

这个是要你在 /var/jenkins_home/目录下
 

touch deploy.sh

vi deploy.sh

内容设置如下

#!/usr/bin/env bash
#编译+部署项目站点
 
#需要配置如下参数
# 输入你的环境下的项目路径
export PROJ_PATH=/var/jenkins_home/workspace/shdc
 
# 输入你的环境上tomcat的全路径
export TOMCAT_APP_PATH=/mnt/shanghai/tomcat_shanghai_6080
 
### base 函数
killTomcat()
{
    #pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`
    #echo "tomcat Id list :$pid"
    #if [ "$pid" = "" ]
    #then
    #  echo "no tomcat pid alive"
    #else
    #  kill -9 $pid
    #fi
    #上面注释的或者下面的
    cd $TOMCAT_APP_PATH/bin
    sh shutdown.sh
}
cd $PROJ_PATH/shanghai
mvn clean install
 
# 停tomcat
killTomcat
 
# 删除原有工程
rm  $TOMCAT_APP_PATH/webapps/shanghai.war
rm  $TOMCAT_APP_PATH/webapps/shanghai

 
# 复制新的工程到tomcat上
cp $PROJ_PATH/shanghai/target/shanghai.war $TOMCAT_APP_PATH/webapps/
 
cd $TOMCAT_APP_PATH/webapps/
 
# 启动Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh

有几个文件名,需要改一下

ok 结束

不懂的可以留言,随时解答。

  • 7
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安逸的程序猿

意思不意思那是你的意思我没意思

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值