jenkins使用docker来进行部署

本文介绍如何使用Jenkins和Docker集成进行自动化部署。通过自定义Jenkins镜像加入Maven和Node.js,实现Spring Boot项目的持续集成与交付。同时提供详细的Dockerfile和构建命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jenkins使用docker来进行部署

编辑jenkins镜像

yt4j为例,yt4j是一个spring boot项目

使用maven来进行打包spring boot项目,也需要nodejs来对前端进行操作,所以我比较习惯使用jenkins作为基础镜像,自己添加maven和node

FROM jenkins/jenkins
MAINTAINER shichenyang89
USER root
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
RUN apt-get install -y nodejs
RUN curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install yarn
RUN yarn config set registry https://registry.npm.taobao.org
ADD apache-maven-3.6.3-bin.tar.gz /opt
COPY settings.xml /opt/apache-maven-3.6.3/conf
ENV PATH /opt/apache-maven-3.6.3/bin:$PATH

打包镜像

docker build -t jenkins-master:1.0 .

启动jenkins

docker run -u root -itd -p 8080:8080 -p 50000:50000 \
--restart=always \
-v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
--name jenkins-master jenkins-master:1.0

登录jenkins

第一次登录的时候,会让你输入密码,这个密码可以通过cat命令来进行查找

之后就是安装插件了,建议使用推荐插件,全安装了就好,如果这一步被跳过了,估计是因为测试代理使用www.google.com的原因,可以通过进入到容器内部进行修改的方式来解决

创建自由风格job

下来就是创建job了,选择自由风格就行了 ,也就是第一个

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

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

启动脚本

yt4j-sys

mvn clean install -Dmaven.test.skip=true
docker-compose down  --remove
docker-compose build
docker-compose up -d

yt4j-ui

yarn install

yarn build

REPOSITORY=$JOB_NAME
CONTAINNER=$JOB_NAME

CID=$(docker ps | grep "$CONTAINNER" | awk '{print $1}')
IID=$(docker images | grep "$REPOSITORY" | awk '{print $3}')

        if [ -n "$CID" ]; then
                echo "存在$CONTAINNER,CID=$CID"
                docker stop $CONTAINNER
                docker rm -f $CONTAINNER
        else
                echo "不存在$CONTAINNER"
        fi


        if [ -n "$IID" ]; then
                echo "存在$SERVER_NAME镜像,IID=$IID"
                docker rmi $REPOSITORY
        else
                echo "不存在$SERVER_NAME镜像,开始构建镜像"
        fi
docker build -t $REPOSITORY .
docker run -d -p 80:80 -p 443:443 --name $CONTAINNER $REPOSITORY

本篇文章由一文多发平台ArtiPub自动发布

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值