梳理jenkins构建流程

一、背景

最近需要进行服务环境治理项目,于是我把公司jenkins相关的部署流程给总结了一下。

二、jenkins操作架构图在这里插入图片描述

三、详细流程

拉代码–>打包–>构建镜像–>升级pod镜像

1. 以go语言jenkins的流程梳理,以dev-bizops-svr为例

1.丢弃旧的构建
2.参数化构建-GIT-TAG
3.git拉取代码--用tag号命名${GIT-TAG}构建新的分支 
4.当前分支与master分支进行比较,看是否已经合并代码
5.执行shell:
5.1:定义变量PROJECT、BUILD_PATH(构建路径)、IMAGE_ENV、IMAGE_NAME、PATH_NUM
5.2:如果BUILD_PATH下的pactket目录下不为空,说明其他项目在构建,复制BUILD_PATH下所有,到一个新目录,新路径赋值给BUILD_PATH,删除新路径packet里的所有内容。
5.3:go语言打包-->运行打包命令-->构建成功后,拷贝程序至BUILD_PATH目录。
5.4:构建docker镜像--先cd到BUILD_PATH目录,再运行docker build命令--命令行方式添加环境变量 --build-arg server_name=${PROJECT}。
5.5:将镜像push到镜像仓库
5.6:更新k8s中的镜像--kubectl set image deployment/deployment 容器名=镜像名 -n 命名空间

四、具体shell

#[ $(echo "${GIT_TAG}" | grep TAG | wc -l) -ne 0  ] && git checkout ${GIT_TAG}|| git checkout

# 只需要修改PROJECT即可,其它配置无特殊需求不用修改
PROJECT=bizops-svr
BUILD_PATH=/xdfapp/data/build/go
IMAGE_ENV=dev
IMAGE_NAME=re******.cn/application/${PROJECT}:TAG-${BUILD_TIMESTAMP}
PATH_NUM=0
#GO_SRC=/xdfapp/server/go/src
		
# 判断目录是否为空

if [ $(ls ${BUILD_PATH}/packet/ | wc -l) -ne 0 ];then
    echo "其它项目在构建,正尝试新建目录构建。"
    cp -a ${BUILD_PATH} /xdfapp/data/build/${PROJECT}-${BUILD_TIMESTAMP}
    BUILD_PATH=/xdfapp/data/build/${PROJECT}-${BUILD_TIMESTAMP}
    rm -rf ${BUILD_PATH}/packet/*
    PATH_NUM=$(expr ${PATH_NUM} + 1)
fi

# build go 服务
#cp -a ${WORKSPACE} ${GO_SRC}/${PROJECT}
cd ${WORKSPACE}
#go env
export GOROOT=/xdfapp/server/go
go build -o release/bin/bizops-svr main.go
if [ $? -eq 0 ];then
    echo "构建成功。"
    # 拷贝程序至build目录
	cp -a ${WORKSPACE}/release/*  ${BUILD_PATH}/packet/
    #rm -rf ${GO_SRC}/${PROJECT}
else
    echo "构建失败。"
    #rm -rf ${GO_SRC}/${PROJECT}
    exit 1
fi


# 构建docker镜像
cd ${BUILD_PATH}
sudo docker build --build-arg server_name=${PROJECT} -t $IMAGE_NAME .

# 上传至harbor
sudo docker push $IMAGE_NAME


# 更新rancher 项目
kubectl  set image deployment/${PROJECT} $PROJECT=$IMAGE_NAME -n ${IMAGE_ENV}


if [ "${PATH_NUM}" -eq 0 ];then
    rm -rf packet/*
else
	rm -rf ${BUILD_PATH}
fi

Jenkins是一款流行的自动化构建工具,它可以帮助我们自动化构建、测试和部署应用程序。以下是Jenkins的自动化构建流程: 1. 安装Jenkins:首先,需要在服务器上安装Jenkins。你可以从Jenkins官网上下载并安装它。 2. 创建新的Jenkins Job:在Jenkins中,我们需要创建一个新的Job来自动化构建我们的应用程序。在Jenkins的主界面上,点击“新建任务”按钮,然后输入Job名称和描述。 3. 配置源代码管理:在Job配置页面中,选择源代码管理工具,如Git、SVN等。你需要提供代码库的URL、认证信息和分支信息。 4. 配置构建触发器:在Job配置页面中,设置构建触发器。这些触发器可以是定期构建、代码变更、手动触发等。 5. 配置构建步骤:在Job配置页面中,设置构建步骤。这些步骤可以是编译、测试、打包、部署等。 6. 配置构建后操作:在Job配置页面中,设置构建后操作。这些操作可以是通知、归档构建结果、触发其他Job等。 7. 执行构建:保存Job配置后,点击“立即构建”按钮来执行构建Jenkins会自动下载源代码、执行构建步骤并生成构建报告。 8. 查看构建结果:在Jenkins的主界面上,点击Job名称来查看构建历史和构建报告。你可以查看构建时间、状态、日志和报告等信息。 以上就是Jenkins的自动化构建流程。通过Jenkins,我们可以方便地将软件开发流程进行自动化,并提高开发效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值